Estimados compañeros,

Tengo el siguiente inconveniente al realizar un movimiento en la versión 1.19.1.4 en ORACLE, las demás entidades funcionan correctamente, como retiros, contrataciones, modificación a esquemas, etc.

El problema es al hacer un movimiento, queda en estado pendiente, al revisar en los procesos no tira ningún mensaje de error, tampoco dice si es exitoso, si se presiona sobre el botón de EJECUTAR INMEDIATAMENTE, dice que se ejecuto correctamente, pero no hace nada y al revisar el LOG del appjob tira el siguiente mensaje de error y luego baja la tarea del APPJOB y hace que ya no funcionen las demás entidades:

2020-08-24 17:55:04,678 [31] ERROR Aseinfo.VH4.MicroServices.AppJob.Common.Tasks.AccionFinalizacionTask - Error al ejecutar la finalización 6ba088f4-da85-4aa8-8553-61d96715a3df
Aseinfo.Infrastructure.Base.Exceptions.ApplicationJobWindowsServiceException: El servicio de ejecución de tareas no está iniciado o produjo un error. ---> Quartz.JobPersistenceException: Failure setting up connection. ---> System.InvalidOperationException: La conexión ya forma parte de una transacción local o distribuida
   at Oracle.ManagedDataAccess.Client.OracleConnection.BeginTransaction(IsolationLevel isolationLevel)
   at Oracle.ManagedDataAccess.Client.OracleConnection.BeginDbTransaction(IsolationLevel isolationLevel)
   at System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
   at Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet-6fcn8\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 343
   --- End of inner exception stack trace ---
   at Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet-6fcn8\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 349
   at Quartz.Impl.AdoJobStore.JobStoreTX.GetNonManagedTXConnection() in C:\projects\quartznet-6fcn8\src\Quartz\Impl\AdoJobStore\JobStoreTX.cs:line 59
   at Quartz.Impl.AdoJobStore.JobStoreSupport.<ExecuteInNonManagedTXLock>d__262`1.MoveNext() in C:\projects\quartznet-6fcn8\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3697
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Quartz.Impl.AdoJobStore.JobStoreSupport.<ExecuteInNonManagedTXLock>d__262`1.MoveNext() in C:\projects\quartznet-6fcn8\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3712
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Aseinfo.VH4.Infraestructura.Services.SchedulerService.<CreateFinalizacionJobAsync>d__16.MoveNext() in C:\vh4\VH4\Infraestructura\Services\SchedulerService.cs:line 345
   --- End of inner exception stack trace ---
   at Aseinfo.VH4.Infraestructura.Services.SchedulerService.<CreateFinalizacionJobAsync>d__16.MoveNext() in C:\vh4\VH4\Infraestructura\Services\SchedulerService.cs:line 398
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Aseinfo.VH4.Infraestructura.Services.SchedulerService.ProgramarEjecucionProceso(String codigoProceso, IEntityWithKey entity, IAuthorizationWorkflowManagedEntityService service, DateTime fechaEjecucion, IDictionary`2 dataDictionary) in C:\vh4\VH4\Infraestructura\Services\SchedulerService.cs:line 180
   at Aseinfo.VH4.Infraestructura.Services.SchedulerService.ProgramarFinalizacionAccion(IEntityWithKey entity, IAuthorizationWorkflowManagedEntityService service, DateTime fechaEjecucion, IDictionary`2 dataDictionary) in C:\vh4\VH4\Infraestructura\Services\SchedulerService.cs:line 116
   at Aseinfo.Infrastructure.Base.Entity.EntityServiceBase`2.AutorizaEntidad(IAuthorizationWorkflowManagedEntity entity, String urlDetailsFlujo, String urlWorkflowService, Boolean ejecutarInmediatamente) in C:\vh4\Infrastructure\Base\Entity\EntityServiceBase.cs:line 699
   at Aseinfo.VH4.Acciones.Services.MovimientoService.FinalizaProcesamientoEntidad(EntityObject entity) in C:\vh4\VH4\Acciones\Services\Movimientos\MovimientoService.cs:line 448
   at Aseinfo.VH4.MicroServices.AppJob.Common.Tasks.AccionFinalizacionTask.Execute(Dictionary`2 data, Action`1 reintentarEjecucion) in C:\vh4\VH4\MicroServices\AppJob\Common\Tasks\AccionFinalizacionTask.cs:line 359

asked 25 Aug '20, 11:31

Brandon%20Aguilar's gravatar image

Brandon Aguilar
(suspended)
accept rate: 43%

edited 25 Aug '20, 13:03

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635

1

El error esta dentro del fuente del Quartz, no en el fuente de Evolution.

Aparentemente es un error de conexión al Oracle. Si pasa eventualmente puede ser que realmente en ese momento no pueda conectarse.

El SchedulerService de Quartz no puede programar la finalización de la ejecución inmediata.

(25 Aug '20, 13:00) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
1

¿Es un movimiento que genera un incremento?

El error se da al momento de programar la finalizacion del incremento, dentro del código que finaliza el movimiento.

(25 Aug '20, 13:05) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
1

¿Los otros movimientos que aparecen como finalizados correctamente, tienen incremento asociado?

(25 Aug '20, 13:07) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

En efecto es un movimiento que tiene asociado un incremento. Los movimientos que aparecieron como finalizados correctamente 1. Se hacen con un usuario root. 2. Dan resultado exitoso cuando solo es un movimiento sin incremento

(26 Aug '20, 10:51) Brandon Aguilar Brandon%20Aguilar's gravatar image

O sea que:

Si es un movimiento con incremento pero se realiza con el usuario ROOT si funciona.

Si es un movimiento sin incremento tambíen funciona aun NO siendo el usuario ROOT.

Si es un movimiento con incremento pero con un usuario normal NO FUNCIONA.

No es que pase eventualmente.

(26 Aug '20, 16:27) FerdyB FerdyB's gravatar image

Recordemos que un usuario con ROOT, cuando guarda entidades no envía a flujo, pero la finalización de la entidad igual se programa para que la realice el AppJob. Entonces aun y cuando usemos un usuario ROOT, se debe obtener el mismo comportamiento.

(26 Aug '20, 17:44) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
showing 5 of 6 show all

Logramos reproducirlo y todo indica que la cadena de conexión a Oracle necesita un parámetro adicional.

Entonces, pueden probar modificando el archivo AppJob.quartz.config, en el folder de instalación del AppJob, ubican la cadena de conexión de Oracle y debería de verse similar a esto:

<add key="quartz.dataSource.default.provider" value="OracleODPManaged" />
<add key="quartz.dataSource.default.connectionString" value="data source=SSSSSSSSSS;user id=XXXXXXXX;password=*********;Enlist=false" />

Entonces hay que agregar: Enlist=false al final de la cadena de conexión (no olviden cuadrar el punto y coma que separa las propiedades).

Tomar en cuenta, que esa propiedad Enlist=false NO SE DEBE AGREGAR EN LA CADENA DE CONEXION DE EVOLUTION, porque generaría errores fatales.

link

answered 26 Aug '20, 17:29

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 26 Aug '20, 17:42

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×34
×12
×3

Asked: 25 Aug '20, 11:31

Seen: 433 times

Last updated: 26 Aug '20, 17:44

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática