JsReport docker image instability & storage corruptions
-
I have posted recently about Azure Storage corruptions with 2.3.0 and have since updated to JsReport 2.4.0 which at the time seemed alot more stable, however my JsReport Dev instance which I just browsed to (after several days of inactivity on it) barfed with the logs below - note, I was not trying to render a report, just browsing to the Studio URL.
019-04-23T04:59:58.046435476Z Unhandled rejection Error: connect ECONNREFUSED 52.239.177.36:443
2019-04-23T04:59:58.046513377Z at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)2019-04-23T06:33:00.680560619Z Trying to remove the lock on display 99
2019-04-23T06:33:00.686666144Z Running display 99
2019-04-23T06:33:00.690226059Z Starting node.js
2019-04-23T06:33:02.992331274Z 2019-04-23T06:33:02.990Z - [32minfo[39m: Initializing jsreport@2.4.0 in production mode using configuration file: jsreport.config.json
2019-04-23T06:33:02.997670897Z 2019-04-23T06:33:02.997Z - [32minfo[39m: Searching for available extensions in /app/
2019-04-23T06:33:03.025898616Z 2019-04-23T06:33:03.025Z - [32minfo[39m: Extensions location cache not found, crawling directories
2019-04-23T06:33:07.136185961Z 2019-04-23T06:33:07.135Z - [32minfo[39m: Found 49 extensions
2019-04-23T06:33:07.492821166Z 2019-04-23T06:33:07.492Z - [32minfo[39m: Using extension authentication
2019-04-23T06:33:07.550883511Z 2019-04-23T06:33:07.550Z - [32minfo[39m: Using extension templates
2019-04-23T06:33:07.556965836Z 2019-04-23T06:33:07.556Z - [32minfo[39m: Using extension azure-storage
2019-04-23T06:33:07.909745025Z 2019-04-23T06:33:07.906Z - [32minfo[39m: Using extension tags
2019-04-23T06:33:07.919662067Z 2019-04-23T06:33:07.919Z - [32minfo[39m: Using extension pug
2019-04-23T06:33:07.928312803Z 2019-04-23T06:33:07.928Z - [32minfo[39m: Using extension postgres-store
2019-04-23T06:33:08.160821384Z 2019-04-23T06:33:08.160Z - [32minfo[39m: Using extension mssql-store
2019-04-23T06:33:08.402228803Z 2019-04-23T06:33:08.402Z - [32minfo[39m: Using extension cli
2019-04-23T06:33:08.406714622Z 2019-04-23T06:33:08.406Z - [32minfo[39m: Using extension mongodb-store
2019-04-23T06:33:08.583654269Z 2019-04-23T06:33:08.583Z - [32minfo[39m: Using extension debug
2019-04-23T06:33:08.594471914Z 2019-04-23T06:33:08.594Z - [32minfo[39m: Using extension ejs
2019-04-23T06:33:08.599585236Z 2019-04-23T06:33:08.599Z - [32minfo[39m: Using extension jsrender
2019-04-23T06:33:08.603623753Z 2019-04-23T06:33:08.603Z - [32minfo[39m: Using extension express
2019-04-23T06:33:08.974465118Z 2019-04-23T06:33:08.967Z - [32minfo[39m: Using extension fop-pdf
2019-04-23T06:33:08.986177567Z 2019-04-23T06:33:08.986Z - [32minfo[39m: Using extension freeze
2019-04-23T06:33:08.993208497Z 2019-04-23T06:33:08.993Z - [32minfo[39m: Using extension import-export
2019-04-23T06:33:09.239866538Z 2019-04-23T06:33:09.238Z - [32minfo[39m: Using extension handlebars
2019-04-23T06:33:09.247562770Z 2019-04-23T06:33:09.247Z - [32minfo[39m: Using extension phantom-image
2019-04-23T06:33:09.298871087Z 2019-04-23T06:33:09.298Z - [32minfo[39m: Using extension html-embedded-in-docx
2019-04-23T06:33:09.556626974Z 2019-04-23T06:33:09.556Z - [32minfo[39m: Using extension authorization
2019-04-23T06:33:09.563480503Z 2019-04-23T06:33:09.563Z - [32minfo[39m: Using extension fs-store
2019-04-23T06:33:09.866342281Z 2019-04-23T06:33:09.866Z - [32minfo[39m: fs store underlying changes synchronization with studio is disabled
2019-04-23T06:33:09.870549099Z 2019-04-23T06:33:09.870Z - [32minfo[39m: Using extension electron-pdf
2019-04-23T06:33:09.979538559Z 2019-04-23T06:33:09.979Z - [32minfo[39m: Using extension licensing
2019-04-23T06:33:09.985620184Z 2019-04-23T06:33:09.985Z - [32minfo[39m: Using extension data
2019-04-23T06:33:09.989707202Z 2019-04-23T06:33:09.989Z - [32minfo[39m: Using extension chrome-pdf
2019-04-23T06:33:10.071874848Z 2019-04-23T06:33:10.071Z - [32minfo[39m: Using extension pdf-password
2019-04-23T06:33:10.281035831Z 2019-04-23T06:33:10.280Z - [32minfo[39m: Using extension pdf-utils
2019-04-23T06:33:10.288768964Z 2019-04-23T06:33:10.288Z - [32minfo[39m: Using extension html-to-text
2019-04-23T06:33:10.421328923Z 2019-04-23T06:33:10.421Z - [32minfo[39m: Using extension phantom-pdf
2019-04-23T06:33:10.432912072Z 2019-04-23T06:33:10.432Z - [32minfo[39m: Using extension child-templates
2019-04-23T06:33:10.439046598Z 2019-04-23T06:33:10.438Z - [32minfo[39m: Using extension wkhtmltopdf
2019-04-23T06:33:10.461115891Z 2019-04-23T06:33:10.460Z - [32minfo[39m: Using extension browser-client
2019-04-23T06:33:10.465815011Z 2019-04-23T06:33:10.465Z - [32minfo[39m: Using extension reports
2019-04-23T06:33:10.472955841Z 2019-04-23T06:33:10.472Z - [32minfo[39m: Using extension version-control
2019-04-23T06:33:10.554475085Z 2019-04-23T06:33:10.554Z - [32minfo[39m: Using extension text
2019-04-23T06:33:10.559088404Z 2019-04-23T06:33:10.558Z - [32minfo[39m: Using extension studio
2019-04-23T06:33:10.578601687Z 2019-04-23T06:33:10.578Z - [32minfo[39m: Using extension base
2019-04-23T06:33:10.582837805Z 2019-04-23T06:33:10.582Z - [32minfo[39m: Using extension html-to-xlsx
2019-04-23T06:33:10.788090671Z 2019-04-23T06:33:10.787Z - [32minfo[39m: html-to-xlsx detected chrome as available html engine
2019-04-23T06:33:10.791952587Z 2019-04-23T06:33:10.791Z - [32minfo[39m: html-to-xlsx detected phantom as available html engine
2019-04-23T06:33:10.796309205Z 2019-04-23T06:33:10.794Z - [32minfo[39m: Using extension fs-store-aws-sns-sync
2019-04-23T06:33:10.952863966Z 2019-04-23T06:33:10.952Z - [32minfo[39m: Using extension fs-store-azure-sb-sync
2019-04-23T06:33:11.052487886Z 2019-04-23T06:33:11.052Z - [32minfo[39m: Using extension scheduling
2019-04-23T06:33:11.121273077Z 2019-04-23T06:33:11.121Z - [32minfo[39m: Using extension scripts
2019-04-23T06:33:11.156401325Z 2019-04-23T06:33:11.136Z - [32minfo[39m: Using extension fs-store-azure-storage-persistence
2019-04-23T06:33:11.487792523Z 2019-04-23T06:33:11.487Z - [32minfo[39m: Using extension assets
2019-04-23T06:33:11.516395044Z 2019-04-23T06:33:11.516Z - [32minfo[39m: Using extension fs-store-aws-s3-persistence
2019-04-23T06:33:11.643993582Z 2019-04-23T06:33:11.643Z - [32minfo[39m: Using extension xlsx
2019-04-23T06:33:11.766175998Z 2019-04-23T06:33:11.765Z - [32minfo[39m: Using extension sample-template
2019-04-23T06:33:11.771156419Z 2019-04-23T06:33:11.771Z - [32minfo[39m: Using extension resources
2019-04-23T06:33:11.774952635Z 2019-04-23T06:33:11.774Z - [32minfo[39m: Using extension public-templates
2019-04-23T06:33:11.784045873Z 2019-04-23T06:33:11.783Z - [32minfo[39m: fs store is persisting using azure-storage
2019-04-23T06:33:11.821380231Z 2019-04-23T06:33:11.821Z - [32minfo[39m: fs store is using no synchronization
2019-04-23T06:33:11.915221227Z 2019-04-23T06:33:11.915Z - [32minfo[39m: fs store is loading data
2019-04-23T06:34:03.382252955Z 2019-04-23T06:34:03.381Z - [31merror[39m: Error occured during reporter init StorageError: There is already a lease present.
2019-04-23T06:34:03.382320856Z RequestId:25aac0c3-401e-007c-099e-f90f2e000000
2019-04-23T06:34:03.382326356Z Time:2019-04-23T06:34:02.3877165Z
2019-04-23T06:34:03.382346656Z at Function.StorageServiceClient._normalizeError (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1189:23)
2019-04-23T06:34:03.382350456Z at BlobService.StorageServiceClient._processResponse (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:736:50)
2019-04-23T06:34:03.382354256Z at Request.processResponseCallback [as _callback] (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:311:37)
2019-04-23T06:34:03.382357856Z at Request.self.callback (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:188:22)
2019-04-23T06:34:03.382361556Z at emitTwo (events.js:126:13)
2019-04-23T06:34:03.382364856Z at Request.emit (events.js:214:7)
2019-04-23T06:34:03.382368156Z at Request.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1171:10)
2019-04-23T06:34:03.382371756Z at emitOne (events.js:116:13)
2019-04-23T06:34:03.382375156Z at Request.emit (events.js:211:7)
2019-04-23T06:34:03.382378356Z at IncomingMessage.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1091:12)
2019-04-23T06:34:03.382381856Z at Object.onceWrapper (events.js:313:30)
2019-04-23T06:34:03.382385156Z at emitNone (events.js:111:20)
2019-04-23T06:34:03.382388456Z at IncomingMessage.emit (events.js:208:7)
2019-04-23T06:34:03.382391756Z at endReadableNT (_stream_readable.js:1064:12)
2019-04-23T06:34:03.382395056Z at _combinedTickCallback (internal/process/next_tick.js:139:11)
2019-04-23T06:34:03.382406556Z at process._tickDomainCallback (internal/process/next_tick.js:219:9)
2019-04-23T06:34:03.388199081Z StorageError: There is already a lease present.
2019-04-23T06:34:03.388212481Z RequestId:25aac0c3-401e-007c-099e-f90f2e000000
2019-04-23T06:34:03.388216881Z Time:2019-04-23T06:34:02.3877165Z
2019-04-23T06:34:03.388220281Z at Function.StorageServiceClient._normalizeError (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1189:23)
2019-04-23T06:34:03.388239281Z at BlobService.StorageServiceClient._processResponse (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:736:50)
2019-04-23T06:34:03.388242781Z at Request.processResponseCallback [as _callback] (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:311:37)
2019-04-23T06:34:03.388246281Z at Request.self.callback (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:188:22)
2019-04-23T06:34:03.388305281Z at emitTwo (events.js:126:13)
2019-04-23T06:34:03.388308581Z at Request.emit (events.js:214:7)
2019-04-23T06:34:03.388328981Z at Request.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1171:10)
2019-04-23T06:34:03.388332681Z at emitOne (events.js:116:13)
2019-04-23T06:34:03.388341181Z at Request.emit (events.js:211:7)
2019-04-23T06:34:03.388344881Z at IncomingMessage.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1091:12)
2019-04-23T06:34:03.388348381Z at Object.onceWrapper (events.js:313:30)
2019-04-23T06:34:03.388351581Z at emitNone (events.js:111:20)
2019-04-23T06:34:03.388354681Z at IncomingMessage.emit (events.js:208:7)
2019-04-23T06:34:03.388357881Z at endReadableNT (_stream_readable.js:1064:12)
2019-04-23T06:34:03.388361081Z at _combinedTickCallback (internal/process/next_tick.js:139:11)
2019-04-23T06:34:03.388364381Z at process._tickDomainCallback (internal/process/next_tick.js:219:9)2019-04-23T06:36:24.445882238Z Trying to remove the lock on display 99
2019-04-23T06:36:24.445917438Z Running display 99
2019-04-23T06:36:24.445922038Z Starting node.js
2019-04-23T06:36:25.142300672Z 2019-04-23T06:36:25.140Z - [32minfo[39m: Initializing jsreport@2.4.0 in production mode using configuration file: jsreport.config.json
2019-04-23T06:36:25.169098285Z 2019-04-23T06:36:25.150Z - [32minfo[39m: Searching for available extensions in /app/
2019-04-23T06:36:25.197831706Z 2019-04-23T06:36:25.197Z - [32minfo[39m: Extensions location cache not found, crawling directories
2019-04-23T06:36:27.577160531Z 2019-04-23T06:36:27.576Z - [32minfo[39m: Found 49 extensions
2019-04-23T06:36:27.940067460Z 2019-04-23T06:36:27.939Z - [32minfo[39m: Using extension authentication
2019-04-23T06:36:27.980153429Z 2019-04-23T06:36:27.980Z - [32minfo[39m: Using extension templates
2019-04-23T06:36:27.985762753Z 2019-04-23T06:36:27.985Z - [32minfo[39m: Using extension azure-storage
2019-04-23T06:36:28.234864603Z 2019-04-23T06:36:28.234Z - [32minfo[39m: Using extension tags
2019-04-23T06:36:28.247253655Z 2019-04-23T06:36:28.247Z - [32minfo[39m: Using extension pug
2019-04-23T06:36:28.255599190Z 2019-04-23T06:36:28.255Z - [32minfo[39m: Using extension postgres-store
2019-04-23T06:36:28.426062708Z 2019-04-23T06:36:28.425Z - [32minfo[39m: Using extension mssql-store
2019-04-23T06:36:28.585915082Z 2019-04-23T06:36:28.585Z - [32minfo[39m: Using extension cli
2019-04-23T06:36:28.589560697Z 2019-04-23T06:36:28.589Z - [32minfo[39m: Using extension mongodb-store
2019-04-23T06:36:28.733113602Z 2019-04-23T06:36:28.732Z - [32minfo[39m: Using extension debug
2019-04-23T06:36:28.756118099Z 2019-04-23T06:36:28.755Z - [32minfo[39m: Using extension ejs
2019-04-23T06:36:28.761978123Z 2019-04-23T06:36:28.761Z - [32minfo[39m: Using extension jsrender
2019-04-23T06:36:28.782900512Z 2019-04-23T06:36:28.773Z - [32minfo[39m: Using extension express
2019-04-23T06:36:29.000015626Z 2019-04-23T06:36:28.999Z - [32minfo[39m: Using extension fop-pdf
2019-04-23T06:36:29.009897268Z 2019-04-23T06:36:29.009Z - [32minfo[39m: Using extension freeze
2019-04-23T06:36:29.014446187Z 2019-04-23T06:36:29.014Z - [32minfo[39m: Using extension import-export
2019-04-23T06:36:29.185353307Z 2019-04-23T06:36:29.185Z - [32minfo[39m: Using extension handlebars
2019-04-23T06:36:29.190348928Z 2019-04-23T06:36:29.190Z - [32minfo[39m: Using extension phantom-image
2019-04-23T06:36:29.248569574Z 2019-04-23T06:36:29.248Z - [32minfo[39m: Using extension html-embedded-in-docx
2019-04-23T06:36:29.462579575Z 2019-04-23T06:36:29.462Z - [32minfo[39m: Using extension authorization
2019-04-23T06:36:29.470178407Z 2019-04-23T06:36:29.470Z - [32minfo[39m: Using extension fs-store
2019-04-23T06:36:29.685606715Z 2019-04-23T06:36:29.685Z - [32minfo[39m: fs store underlying changes synchronization with studio is disabled
2019-04-23T06:36:29.689074430Z 2019-04-23T06:36:29.688Z - [32minfo[39m: Using extension electron-pdf
2019-04-23T06:36:29.773343585Z 2019-04-23T06:36:29.773Z - [32minfo[39m: Using extension licensing
2019-04-23T06:36:29.778957008Z 2019-04-23T06:36:29.778Z - [32minfo[39m: Using extension data
2019-04-23T06:36:29.782477023Z 2019-04-23T06:36:29.782Z - [32minfo[39m: Using extension chrome-pdf
2019-04-23T06:36:29.862555661Z 2019-04-23T06:36:29.862Z - [32minfo[39m: Using extension pdf-password
2019-04-23T06:36:29.955089450Z 2019-04-23T06:36:29.954Z - [32minfo[39m: Using extension pdf-utils
2019-04-23T06:36:29.982696667Z 2019-04-23T06:36:29.963Z - [32minfo[39m: Using extension html-to-text
2019-04-23T06:36:30.024505143Z 2019-04-23T06:36:30.024Z - [32minfo[39m: Using extension phantom-pdf
2019-04-23T06:36:30.035438589Z 2019-04-23T06:36:30.035Z - [32minfo[39m: Using extension child-templates
2019-04-23T06:36:30.042135517Z 2019-04-23T06:36:30.041Z - [32minfo[39m: Using extension wkhtmltopdf
2019-04-23T06:36:30.058652087Z 2019-04-23T06:36:30.058Z - [32minfo[39m: Using extension browser-client
2019-04-23T06:36:30.064660512Z 2019-04-23T06:36:30.064Z - [32minfo[39m: Using extension reports
2019-04-23T06:36:30.071787942Z 2019-04-23T06:36:30.071Z - [32minfo[39m: Using extension version-control
2019-04-23T06:36:30.123450660Z 2019-04-23T06:36:30.123Z - [32minfo[39m: Using extension text
2019-04-23T06:36:30.126815674Z 2019-04-23T06:36:30.126Z - [32minfo[39m: Using extension studio
2019-04-23T06:36:30.144636849Z 2019-04-23T06:36:30.144Z - [32minfo[39m: Using extension base
2019-04-23T06:36:30.150337473Z 2019-04-23T06:36:30.150Z - [32minfo[39m: Using extension html-to-xlsx
2019-04-23T06:36:30.306553431Z 2019-04-23T06:36:30.306Z - [32minfo[39m: html-to-xlsx detected chrome as available html engine
2019-04-23T06:36:30.310043946Z 2019-04-23T06:36:30.309Z - [32minfo[39m: html-to-xlsx detected phantom as available html engine
2019-04-23T06:36:30.313522761Z 2019-04-23T06:36:30.312Z - [32minfo[39m: Using extension fs-store-aws-sns-sync
2019-04-23T06:36:30.469371417Z 2019-04-23T06:36:30.469Z - [32minfo[39m: Using extension fs-store-azure-sb-sync
2019-04-23T06:36:30.545970840Z 2019-04-23T06:36:30.545Z - [32minfo[39m: Using extension scheduling
2019-04-23T06:36:30.597092855Z 2019-04-23T06:36:30.596Z - [32minfo[39m: Using extension scripts
2019-04-23T06:36:30.603530982Z 2019-04-23T06:36:30.603Z - [32minfo[39m: Using extension fs-store-azure-storage-persistence
2019-04-23T06:36:30.841778786Z 2019-04-23T06:36:30.841Z - [32minfo[39m: Using extension assets
2019-04-23T06:36:30.852703232Z 2019-04-23T06:36:30.852Z - [32minfo[39m: Using extension fs-store-aws-s3-persistence
2019-04-23T06:36:30.923665131Z 2019-04-23T06:36:30.923Z - [32minfo[39m: Using extension xlsx
2019-04-23T06:36:31.026271864Z 2019-04-23T06:36:31.026Z - [32minfo[39m: Using extension sample-template
2019-04-23T06:36:31.031512786Z 2019-04-23T06:36:31.031Z - [32minfo[39m: Using extension resources
2019-04-23T06:36:31.035262801Z 2019-04-23T06:36:31.035Z - [32minfo[39m: Using extension public-templates
2019-04-23T06:36:31.044291940Z 2019-04-23T06:36:31.044Z - [32minfo[39m: fs store is persisting using azure-storage
2019-04-23T06:36:31.082526801Z 2019-04-23T06:36:31.082Z - [32minfo[39m: fs store is using no synchronization
2019-04-23T06:36:31.234710542Z 2019-04-23T06:36:31.234Z - [32minfo[39m: fs store is loading data
2019-04-23T06:36:44.727095486Z 2019-04-23T06:36:44.726Z - [32minfo[39m: fs store is initialized successfully
2019-04-23T06:37:07.566811898Z 2019-04-23T06:37:07.566Z - [32minfo[39m: Creating default express app.
2019-04-23T06:37:07.624628442Z 2019-04-23T06:37:07.624Z - [32minfo[39m: jsreport server successfully started on http port: 54882019-04-23T06:37:30.601581916Z 2019-04-23T06:37:30.601Z - [32minfo[39m: Verifying license key free
2019-04-23T06:37:31.099309712Z 2019-04-23T06:37:31.099Z - [32minfo[39m: Starting one month enterprise trial
2019-04-23T06:37:31.108964052Z 2019-04-23T06:37:31.108Z - [32minfo[39m: reporter initializedAlso note, the errors "Error occured during reporter init StorageError: There is already a lease present." which may be related to folder corruptions and deleted files - yes I have lost 2 files.
Browser Refreshing and JsReport hangs requesting OData templates and other files (odata/templates?$select=name,recipe,shortid,tags,folder&$orderby=name) and they all eventually fail with a 502 Server Error - seems the corruption has taken out the storage all together, lucky I have backups of this data although nervous that I have to use them again.
The JsReport instance did not auto recover in any fashion, so I stopped and restarted the Azure Webapp and hit browser refresh, the page took a little longer than normal but Studio eventually rendered with the corrupt folders and missing files, I hit browser Refresh again only for it to then come back with
I am entirely lost as to whether this is a JsReport issue or an Azure Blob storage issue, I have an Azure 10 minute scheduled process which hits both my JsReport Dev & Prod /api/export endpoints to perform automated backups and stores these files in Azure Blob storage aswell (different containers) - perhaps this is interfering somehow?
I welcome any suggestions in how I can get a stable Azure Docker Webapp setup and running with any sort of persisted storage - is there anyone else using Azure Blob Storage successfully?
-
Most of the customers are using local file system store and then the mongo. Both should be very stable.
We use mongo store in our jsreportonline service and there are no issues with it.About your error... Do you have multiple instances talking to the same azure storage?
Could you email me an export of your entities? I would import it to my blob storage account and try to replicate the issue.
-
Hi Jan, thanks for the quick reply :)
There is only 1 JsReport instance talking to 1 blob container, Prod & Dev are completely seperate (seperate JsReport instance, seperate blob container).
I have emailed you the export also.
I had to blow away the Azure blob container as Dev JsReport instance simply would not start and run stably, once I deleted and recreated the blob container Dev JsReport instance fired up and worked normally, I then imported the export.zip file I have sent you - incidentally, the import I have also seen timeout when using the Blob container persistence even though when I close the timeout error and refresh all the files are there without error.
Hopefully you can replicate this somehow as most of the time it is rock solid and works nicely, trouble with this sort of issue is if it happens to the Prod instance it will take out real customer reports - I did take a look at using MongoDb (via Azure's CosmosDb which is 100% Mongo protocol compliant) but decided not go further with it since I read somewhere there were issues with it losing TCP connection and not retrying and also was not entirely sure on how M$ charge for CosmosDb storage etc, didn't want an unexpectedly large bill from them - perhaps I should look further into this.
Cheers
Steve
-
Thank you for the emailed export.
I'm running the docker container attached to my blob storage with your import for several hours now.
I don't see issues or data lose so far. I keep it running and time from time open the studio.I run this command
docker run -p 5488:5488 -v c:\work\temp3\home\:/jsreport jsreport/jsreport:2.4.0-full
Where in my
home\jsreport.config.json
I have"fs-store-azure-storage-persistence": { "accountName": "jsrtest", "accountKey": "xxx", "container": "jsreport" },
The rest is standard.
In the error you posted I see
019-04-23T04:59:58.046435476Z Unhandled rejection Error: connect ECONNREFUSED 52.239.177.36:443
Not sure what is the IP 52.239.177.36, don't you know it? I guess it will be azure blob storage. So maybe there were some temprary connection issues from the machine running jsreport. I've tried to simulate the same.
The app logs this error
Unhandled rejection Error: getaddrinfo EAI_AGAIN jsrtest.blob.core.windows.net:443 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
However, it is not restarted like it seems it happened in your case. If I open the internet again the app normally works.
What I noticed is that if I keep the internet down for a long time it takes also a long time for app to load in the browser. This is because the compaction interval mentioned here is queing new and new compaction and this blocks the app after the internet is back on. We will fix this so the compaction is not queing when there is already one task.
Another thing which came from analyzing your error.
Error occured during reporter init StorageError: There is already a lease present.
The azure blob storage driver uses azure container lease to lock it and prevent concurrent access. This is maybe useless for you if you have just a single instance, you can disable it using
"fs-store-azure-storage-persistence": { "accountName": "jsrtest", "accountKey": "xxx", "container": "jsreport", "lock": { "enabled": false } },
Based on the logs the app did wait like 50 seconds to get the lease. The default jsreport lease has no such duration. Normally the app would wait until the lease is relased. This looks like something else created the lease. Or maybe you have some custom config in
fs-store-azure-storage-persistence.lock
?In every case the corruption shouldn't happen and I don't see how it could so far.
It would help me a lot if you would send me the next time the downloaded container from the azure, so I see what is wrong there.