Evolution 1.10.0.6

Tengo la siguiente situación:

  1. Creo una hora extra y la envío autorizar
  2. el usuario recibe la notificación, en la bandeja de inicio, y entra para autorizarla

Resultado. Error

Al autorizarla indica: No se pudo procesar su petición con el flujo de autorización alt text

  • La solicitud llega a la cola del appjob
  • el Appjob no muestra error
  • La configuración del WCF aparenta estar bien configurado y funcionando
  • es una actividad en la ruta de autorización tipo usuario
  • Me indicaron que puede ser la base de datos de persistencia

Actualizo la información con el log obtenido del servicio WCF usado por el EvolutionWorkflowService


Activity Name   Process action 'http://aseinfo.com/Evolution/IAuthorizationWorkflowService/AutorizarActividadEnFlujo'.
<applicationdata>
<tracedata>
<dataitem>
<tracerecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" severity="Error">
<traceidentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</traceidentifier>
<description>Throwing an exception.</description>
<appdomain>/LM/W3SVC/1/ROOT/EvolutionWorkflowService-1-131336596836196755</appdomain>
<source>System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel/45653674</source>
<exception>
<exceptiontype>System.ServiceModel.CommunicationObjectAbortedException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</exceptiontype>
<message>The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.</message>
<stacktrace>
at System.ServiceModel.Channels.InputQueueChannel`1.EndDequeue(IAsyncResult result, TDisposable& item)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.ServiceModel.Diagnostics.TraceUtility.<>c__DisplayClass4.<CallbackGenerator>b__2(AsyncCallback callback, IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item)
at System.Runtime.InputQueue`1.Shutdown(Func`1 pendingExceptionGenerator)
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.ListenerHandler.AbortChannels()
at System.ServiceModel.Dispatcher.ListenerHandler.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.ServiceHostBase.OnServiceHostFaulted(Object sender, EventArgs args)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.ServiceModel.Channels.CommunicationObject.OnFaulted()
at System.ServiceModel.Channels.CommunicationObject.Fault()
at System.ServiceModel.Channels.CommunicationObject.Fault(Exception exception)
at System.ServiceModel.Activities.Dispatcher.DurableInstanceManager.WaitAndHandleStoreEventsCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.DurableInstancing.InstanceHandle.Free()
at System.Activities.DurableInstancing.SqlWorkflowInstanceStoreLock.MarkInstanceOwnerLost(Int64 surrogateLockOwnerId)
at System.Activities.DurableInstancing.SqlWorkflowInstanceStoreLock.MarkInstanceOwnerLost(Int64 surrogateLockOwnerId, Boolean hasModificationLock)
at System.Activities.DurableInstancing.PersistenceTask.CommandCompletedCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Activities.DurableInstancing.SqlWorkflowInstanceStoreAsyncResult.StartOperation()
at System.Runtime.ActionItem.DefaultActionItem.TraceAndInvoke()
at System.Runtime.ActionItem.CallbackHelper.InvokeWithoutContext(Object state)
at System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
</stacktrace>
<exceptionstring>System.ServiceModel.CommunicationObjectAbortedException: The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.</exceptionstring>
</exception>
</tracerecord>
</dataitem>
</tracedata>
</applicationdata>

¿Debo eliminar y crear la base de persistencia del AppFabric?

asked 10 Mar '17, 15:37

Jimy%20Tobar's gravatar image

Jimy Tobar ♦♦
(suspended)
accept rate: 56%

edited 13 Mar '17, 11:51


Si el error es al dar click en autorizar, primero seria de revisar el log del website (elmah) para ver si no quedo ningún error de comunicación con el workflow.

Luego, si el error fue en momento de la autorización, eso lo hace el workflow. Entonces hay que revisar el log de errores del workflow.

Si se logró autorizar, hasta entonces se programa un Job de finalización. Entonces hasta ese punto interviene el AppJob. Si no hay errores en su log, es que nunca llegó a este punto.

Primero encontrá el mensaje de error y luego decides si se debe eliminar la base de persistencia. Sino es patada de ahogado.

link

answered 10 Mar '17, 16:14

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Me parece que la pista esta en el log del WebSite:


10/03/2017 10:56:18 p.m. 7804 Information General - Instancia no se encontró en AppFabric (o en memoria en WorkflowService) o fue denegada una actividad que retorna a una actividad anterior. Se reiniciará reutilizando la información que está en la base de datos. Instancia: a46b4c75-9d2f-47c0-a2c0-2853cf74f451

(10 Mar '17, 17:12) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

Este no es un mensaje de error, simplemente documenta que el código de instancia no existe y que va a reintentar iniciar de nuevo el flujo.

Si hubiera un error debería estar mas adelante en el log. Busca por el número de instancia.

(13 Mar '17, 10:31) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

Para descartar cree de nuevo las bases de monitoreo y persistencia (el servidor es de pruebas), curiosamente solo un registro dejó autorizar y luego el mismo problema. El log del WCF muestra


faultcode   a:InstanceNotFound
faultstring The execution of an InstancePersistenceCommand was interrupted because the instance '33df3efc-a261-4303-babd-943d18176fa5' has not yet been persisted to the instance store.

(13 Mar '17, 12:25) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

Se me ocurre que entonces pueda ser la configuración del AppFabric. Salva en imágenes la configuración de cada sección y agregálas a esta pregunta para verlas.

Luego, proba a desinstalar el AppFabric y sin instalarlo nuevamente, podrías probar los flujos a ver si pasan correctamente.

Si todo funciona bien, se podría instalar nuevamente el AppFabric y configurarlo. Pero esta vez, habría que ponerle mucha atención a la configuración.

(15 Mar '17, 09:38) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

El día de ayer me di cuenta, por otro error reportado, que el disco donde estan guardadas las bases de datos estaba lleno. El día de hoy que reinstale el APPFABRIC ya habían extendido el espacio del disco y ya funcionan los flujos. Gracias.

(16 Mar '17, 17:11) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image
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:

×9
×1
×1

Asked: 10 Mar '17, 15:37

Seen: 1,419 times

Last updated: 16 Mar '17, 17:11

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