RemoteMetering / geteventstore-promise

An EventStore http+tcp wrapper package
MIT License
31 stars 17 forks source link

Unhandled promise rejection if eventstore is down #117

Open matchish opened 2 years ago

matchish commented 2 years ago

Test case Eventstore is down

    const EventStore = require('geteventstore-promise');
    const client = new EventStore.TCPClient({
      hostname: 'localhost',
      port: 1113,
      credentials: {
        username: 'admin',
        password: 'changeit'
      },
      poolOptions: {
        min: 0,
        max: 10
      }
    });
    const eventsByType = await client.getEventsByType('$all', ['TestType']);
    expect(eventsByType.length).to.equals(0);

Error


(node:926370) UnhandledPromiseRejectionWarning
[ Stacktrace altered by https://github.com/grantila/trace-unhandled ]
Error: Resource not currently part of this pool
    ==== Promise at: ==================
    at Pool.release (/home/event-store-cloud-lib/node_modules/generic-pool/lib/Pool.js:517:28)

    ==== Error at: ====================
    at Pool.release (/home/event-store-cloud-lib/node_modules/generic-pool/lib/Pool.js:518:9)

    ==== Shared trace: ================
    at EventStoreNodeConnection.client.releaseConnection (/home/event-store-cloud-lib/node_modules/geteventstore-promise/dist/tcpClient/connectionManager.js:118:58)
    at _callee$ (/home/event-store-cloud-lib/node_modules/geteventstore-promise/dist/tcpClient/readEvents.js:84:26)
    at tryCatch (/home/event-store-cloud-lib/node_modules/regenerator-runtime/runtime.js:63:40)
    at Generator.invoke [as _invoke] (/home/event-store-cloud-lib/node_modules/regenerator-runtime/runtime.js:294:22)
    at Generator.throw (/home/event-store-cloud-lib/node_modules/regenerator-runtime/runtime.js:119:21)
    at asyncGeneratorStep (/home/event-store-cloud-lib/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
    at _throw (/home/event-store-cloud-lib/node_modules/@babel/runtime/helpers/asyncToGenerator.js:29:9)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

  0 passing (2s)
  1 failing

  1) should delete a project:
     Error: Connection 'ES-fc0063fa-f1d5-4af4-b5a9-0138cfab5110' was closed. Waiting Operation ReadStreamEventsBackwardOperation (c950991a-cdd9-450e-bea9-8ff9506b86b6): Stream: $projections-CompaniesBySlug-result, FromEventNumber: -1, MaxCount: 1, ResolveLinkTos: true, RequireMaster: true, retry count: 0, created: 09:15:56.344, last updated: 09:15:56.344.
      at cleanUpError (/home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:3200:12)
      at /home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:3209:30
      at Array.forEach (<anonymous>)
      at OperationsManager.module.exports.OperationsManager.cleanUp (/home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:3208:27)
      at EventStoreConnectionLogicHandler.module.exports.EventStoreConnectionLogicHandler._closeConnection (/home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:1908:20)
      at EventStoreConnectionLogicHandler.module.exports.EventStoreConnectionLogicHandler._timerTick (/home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:2360:16)
      at /home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:1825:10
      at Immediate._handlers.<computed> (/home/event-store-cloud-lib/node_modules/node-eventstore-client/lib/dist.js:2474:7)
      at processImmediate (internal/timers.js:463:21)