VeeamHub / vbo365-rest-self-service

Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365
MIT License
22 stars 8 forks source link

stopping session #26

Closed gingerr6 closed 3 years ago

gingerr6 commented 3 years ago

when stopping a session external of the veeam server it doesn't work? locally it stops immediately.

nielsengelen commented 3 years ago

Can u clarify what exactly you are seeing? Are you saying you can start a restore session but if you click stop, it won't stop?

gingerr6 commented 3 years ago

Yes, image but it remains running in VBO image

nielsengelen commented 3 years ago

Do you see anything in the RESTful API logs regarding this stop?

gingerr6 commented 3 years ago

so once stop is pressed you cannot move about in folder, just get spinning wheel: image

last log: 20/11/2020 09:47:40 97 (5784) Action started (action: ExportToPst, data: items, API version: V4)

until you Stop session in VBO: 20/11/2020 09:51:17 34 (3412) Error: Explore session was forcibly closed. 20/11/2020 09:51:17 34 (3412) Type: System.ServiceModel.FaultException 20/11/2020 09:51:17 34 (3412) Stack: 20/11/2020 09:51:17 34 (3412) Server stack trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Veeam.Archiver.Integration.Exchange.IArchiverExchangeService.CloseEnumerator(Guid sessionId, Guid archiveId, Guid enumeratorId) at Veeam.Exchange.Archive.NetworkArchive.ArchiverExchangeConnection.<>c__DisplayClass19_1.b4(IArchiverExchangeService client) at Veeam.Archiver.Integration.RecoveryAwareExecutor.Execute[T](T arg, Action1 action, Int32 retryCount) at Veeam.Engine.Wcf.RemoteEnumerator1.Dispose() at Veeam.Exchange.Archive.Folder.d37.System.IDisposable.Dispose() at Veeam.REST.Tools.Cursor`1.Dispose() at Veeam.Core.Memory.Disposables.Dispose(Boolean disposing) 20/11/2020 09:51:17 34 (3412) Error: Explore session was forcibly closed. 20/11/2020 09:51:17 34 (3412) Type: System.ServiceModel.FaultException 20/11/2020 09:51:17 34 (3412) Stack: 20/11/2020 09:51:17 34 (3412) Server stack trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Veeam.Archiver.Integration.Exchange.IArchiverExchangeService.CloseArchive(Guid sessionId, Guid archiveId) at Veeam.Exchange.Archive.NetworkArchive.ArchiverExchangeConnection.<>c__DisplayClass13_0.b__0(IArchiverExchangeService client) at Veeam.Archiver.Integration.RecoveryAwareExecutor.Execute[T](T arg, Action`1 action, Int32 retryCount) at Veeam.Exchange.Archive.NetworkArchiveStore.Close() 20/11/2020 09:51:17 97 (5784) Action failed (action: ExportToPst, data: items, error: Explore session was forcibly closed.) 20/11/2020 09:51:17 97 (5784) Error: Explore session was forcibly closed. 20/11/2020 09:51:17 97 (5784) Type: System.ServiceModel.FaultException 20/11/2020 09:51:17 97 (5784) Stack: 20/11/2020 09:51:17 97 (5784) Server stack trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Veeam.Archiver.Integration.Exchange.IArchiverExchangeService.CloseEnumerator(Guid sessionId, Guid archiveId, Guid enumeratorId) at Veeam.Exchange.Archive.NetworkArchive.ArchiverExchangeConnection.<>cDisplayClass17_2.b__5(IArchiverExchangeService client) at Veeam.Archiver.Integration.RecoveryAwareExecutor.Execute[T](T arg, Action1 action, Int32 retryCount) at Veeam.Engine.Wcf.RemoteEnumerator1.Dispose() at Veeam.Exchange.Archive.Folder.d39.System.IDisposable.Dispose() at System.Linq.Enumerable.d591.System.IDisposable.Dispose() at Veeam.Exchange.REST.Clients.ItemClient.SearchItems(IFolder folder, Collection1 ids, ICollection1 result) at Veeam.Exchange.REST.Clients.ItemClient.GetItemsByIds(Guid restoreSessionId, Guid mailboxId, Collection1 ids) at Veeam.Exchange.REST.Clients.ItemClient.ExportItemsToPst(Guid restoreSessionId, Guid mailboxId, Collection`1 ids, ExportOptions exportOptions) at Veeam.Exchange.REST.Actions.BulkItemsActionsExecutor.ExportItemsToPstV4(RESTSeveralItemsExportOptions options) at Veeam.REST.ActionExecutionApi.ActionMapBuilder.<>cDisplayClass9_01.<UntypedActionFromTyped>g__UntypedWrapper|0(JToken actionOptionsJson) at Veeam.REST.ActionExecutionApi.ActionsMapExtension.<>c__DisplayClass0_0.<Execute>g__ActionToSafeExecuting|0() at Veeam.REST.Actions.ActionExecutor.ExecuteActionImpl(Func1 restAction, String actionName, IResponseBuilder responseBuilder, String dataName, IRequest uriSource, Func1 checkData) at Veeam.REST.Actions.ActionExecutor.Execute(Func1 restAction, String actionName, IResponseBuilder responseBuilder, String dataName, IRequest uriSource, Func1 checkData) 20/11/2020 09:51:17 97 (5784) Action: stop 20/11/2020 09:51:17 97 (5784) Action started (action: stop, data: restoreSession, API version: V4) 20/11/2020 09:51:17 97 (5784) Action failed (action: stop, data: restoreSession, error: Restore session already stopped (ID: 49f729c1-90e9-4d0a-b628-9c92076c589c).) 20/11/2020 09:51:17 97 (5784) Error: Restore session already stopped (ID: 49f729c1-90e9-4d0a-b628-9c92076c589c). 20/11/2020 09:51:17 97 (5784) Type: System.Exception 20/11/2020 09:51:17 97 (5784) Stack: 20/11/2020 09:51:17 97 (5784) at Veeam.Core.Verifiers.Assert(Boolean b, String message, Object[] args) at Veeam.Archiver.REST.Clients.RestoreSessionClient.Stop(Guid restoreSessionId) at Veeam.Archiver.REST.Actions.RestoreSessionActions.Stop(JToken jsonOptions, RestoreSessionActionParameters parameters, IResponseBuilder responseBuilder) at Veeam.REST.Actions.ActionExecutor.ExecuteActionImpl(Func1 restAction, String actionName, IResponseBuilder responseBuilder, String dataName, IRequest uriSource, Func1 checkData) at Veeam.REST.Actions.ActionExecutor.Execute(Func1 restAction, String actionName, IResponseBuilder responseBuilder, String dataName, IRequest uriSource, Func1 checkData) 20/11/2020 09:51:17 150 (4084) Action started: Get folders (API version: V4) 20/11/2020 09:51:17 150 (4084) Action failed: Get folders 20/11/2020 09:51:17 150 (4084) Error: Restore session is stopped. 20/11/2020 09:51:17 150 (4084) Type: System.Exception 20/11/2020 09:51:17 150 (4084) Stack: 20/11/2020 09:51:17 150 (4084) at Veeam.Exchange.REST.Store.OrganizationStoreSource.GetGenericResourceByRestoreSessionId[T](Guid restoreSessionId, Func2 getResource) at Veeam.Exchange.REST.Store.OrganizationStoreSource.GetMailbox(Guid restoreSessionId, Guid mailboxId) at Veeam.Exchange.REST.Clients.FolderClient.GetByParentId(Guid restoreSessionId, Guid mailboxId, Byte[] parentId) at Veeam.Exchange.REST.RESTClients.RESTFolderClient.GetFolderResource(Guid restoreSessionId, Guid mailboxId, String parentId) at Veeam.Exchange.REST.RESTClients.RESTFolderClient.GetByParentId(Guid restoreSessionId, Guid mailboxId, String parentId, String name, IRequest uriSource) at Veeam.Exchange.REST.Controllers.ExchangeFolderController.<>cDisplayClass2_0.b0() at Veeam.REST.Actions.GetAction1.Execute[TEnumerable](Func1 sourceFunc, String dataName, IRequest request) 20/11/2020 09:51:17 150 (4084) Action started: Get items (API version: V4) 20/11/2020 09:51:17 150 (4084) Action failed: Get items 20/11/2020 09:51:17 150 (4084) Error: Restore session is stopped. 20/11/2020 09:51:17 150 (4084) Type: System.Exception 20/11/2020 09:51:17 150 (4084) Stack: 20/11/2020 09:51:17 150 (4084) at Veeam.Exchange.REST.Store.OrganizationStoreSource.GetGenericResourceByRestoreSessionId[T](Guid restoreSessionId, Func`2 getResource) at Veeam.Exchange.REST.Store.OrganizationStoreSource.GetWorkingStoreByRestoreSessionId(Guid restoreSessionId) at Veeam.Exchange.REST.Clients.ItemClient.GetPageItemsByFolderId(Guid restoreSessionId, Guid mailboxId, Byte[] folderId, Int32 offset, Int32 limit) at Veeam.Exchange.REST.RESTClients.RESTItemProviderClient.GetPageItems(Guid restoreSessionId, Guid mailboxId, String folderId, PageProperties pageProperties, Uri collectionUrl, IRequest uriSource, IQuerySource querySource, IRESTExchangeItemFactory factory) at Veeam.Exchange.REST.Controllers.ExchangeItemController.<>cDisplayClass5_0.b1() at Veeam.REST.Actions.GetAction1.ExecutePage(Func1 sourceFunc, String dataName, IRequest uriSource)

nielsengelen commented 3 years ago

This is normal since the session is cleared from the browser. You will need to restart your browser session for the portal here.

I think it may be better to do a fresh clone of the portal and use the code available on my personal GitHub.

You can clone it via git clone https://github.com/nielsengelen/vbo365-rest.git

gingerr6 commented 3 years ago

onedrive and SP stop with no error or log out, you can do a onedrive restore then do a SP restore after stopping the onedrive one. ive updated to your version, still the same. Seems the restore "locks" the stop session. needs to be forcibly stopped in VBO

nielsengelen commented 3 years ago

The API calls for all 3 are the same and since u don't have issues for SP/OD, I'm not sure why Exchange is different in this case.

Does this happen as an admin or a tenant?

gingerr6 commented 3 years ago

only logged in as local admin as MFA not working, stopping an exchange restore just don't work, onedrice and SP work every time.

nielsengelen commented 3 years ago

It looks like this can happen if the Veeam Explorer is not correctly installed. Can u try to re-install the Veeam Explorer for Exchange and see what the result is?