openpetra / openpetra

OpenPetra is an administration software (CRM+ERP) for charities
https://www.openpetra.org
GNU General Public License v3.0
116 stars 49 forks source link

2015-09: import database via yml.gz fails #88

Closed tpokorra closed 9 years ago

tpokorra commented 9 years ago

that used to work in tests before.

importing via the fat client fails on the server side like this:

Wednesday, 23-Sep-2015, 22:01:40.88 : Nested DB Transaction problem details:  *Previously* started DB Transaction Properties: Valid: True, IsolationLevel: Serializable, Reused: False; it got started on Thread 'Threadpool worker' [ThreadID: 11] in AppDomain 'ec234ecc'.  The attempt to begin a DB Transaction NOW occured on Thread 'Threadpool worker' [ThreadID: 7] in AppDomain 'ec234ecc.'   The StackTrace of the *previously* started DB Transaction is as follows:^M
  PREVIOUS Stracktrace:     at Ict.Common.DB.TDBTransaction BeginTransaction(System.Data.IsolationLevel, Boolean, Int16)
    at Ict.Common.DB.TDBTransaction BeginTransaction(System.Data.IsolationLevel, Int16)
    at Void BeginAutoTransaction(System.Data.IsolationLevel, Int16, Ict.Common.DB.TDBTransaction ByRef, Boolean ByRef, System.Action)
    at Void BeginAutoTransaction(System.Data.IsolationLevel, Ict.Common.DB.TDBTransaction ByRef, Boolean ByRef, System.Action)
    at Boolean ResetDatabase(System.String)
    at Boolean TImportExportWebConnector_ResetDatabase(System.String)
...
  CURRENT Stracktrace:     at Ict.Common.DB.TDBTransaction BeginTransaction(System.Data.IsolationLevel, Boolean, Int16)
    at Ict.Common.DB.TDBTransaction BeginTransaction(System.Data.IsolationLevel, Int16)
    at Void BeginAutoTransaction(System.Data.IsolationLevel, Int16, Ict.Common.DB.TDBTransaction ByRef, Boolean ByRef, System.Action)
    at Void BeginAutoTransaction(System.Data.IsolationLevel, Ict.Common.DB.TDBTransaction ByRef, Boolean ByRef, System.Action)
    at Boolean ResetDatabase(System.String)
    at Boolean TImportExportWebConnector_ResetDatabase(System.String)
tpokorra commented 9 years ago

it works with base.yml.gz. https://github.com/openpetra/demo-databases/blob/master/demoWith1ledger.yml.gz works as well.

it fails for https://github.com/openpetra/demo-databases/blob/master/demoMultipleYears.yml.gz

this works: openpetra-server loadYmlGz /tmp/demoMultipleYears.yml.gz

tpokorra commented 9 years ago

it seems that the webconnector call is made twice, because there is no reply: https://github.com/openpetra/openpetra/blob/master/csharp/ICT/Common/IO/HTTPUtils.cs#L261

but timeout is 15 minutes? https://github.com/openpetra/openpetra/blob/master/csharp/ICT/Common/IO/HTTPUtils.cs#L99

tpokorra commented 9 years ago

actually, it was a gateway timeout: (504) Gatewaytimeout

so I fixed my nginx proxy and added these two lines for a 15 minute timeout:

 proxy_send_timeout 6000;
 proxy_read_timeout 6000;