Skip to content

Record processor not shutdown on IO close #51

@pvatterott

Description

@pvatterott

I received an uncaught exception that meant the consumer was no longer connected to Kinesis. In this case, I would imagine that the KCL would either continuously attempt to reconnect or die and call shutdown. However, neither happened, which got my consumer process stuck in an invalid and dangerous state: thinking it was connected when it wasn't.

Stack trace:

Error: Kinesis Client Library is in the invalid state. Cannot proceed further.
  File "/vitally/server/node_modules/aws-kcl/lib/kcl/kcl_manager.js", line 399, col 11, in KCLManager._handleStateInput
    throw new Error('Kinesis Client Library is in the invalid state. Cannot proceed further.');
  File "/vitally/server/node_modules/aws-kcl/lib/kcl/kcl_manager.js", line 265, col 8, in KCLManager._onActionEnd
    this._handleStateInput(this._context, 'cleanup');
  File "events.js", line 106, col 13, in emitNone
  File "events.js", line 208, col 7, in ActionHandler.emit
  File "/vitally/server/node_modules/aws-kcl/lib/kcl/action_handler.js", line 82, col 8, in ActionHandler._onIOClose
    this.emit('end');
  File "events.js", line 106, col 13, in emitNone
  File "events.js", line 208, col 7, in IOHandler.emit
  File "/vitally/server/node_modules/aws-kcl/lib/kcl/io_handler.js", line 93, col 8, in IOHandler._onInputClose
    this.emit('close');
  File "events.js", line 111, col 20, in emitNone
  File "events.js", line 208, col 7, in Interface.emit
  File "readline.js", line 370, col 8, in Interface.close
  File "readline.js", line 149, col 10, in Socket.onend
  File "events.js", line 111, col 20, in emitNone
  File "events.js", line 208, col 7, in Socket.emit
  File "_stream_readable.js", line 1055, col 12, in endReadableNT
  File "internal/process/next_tick.js", line 138, col 11, in _combinedTickCallback
  File "internal/process/next_tick.js", line 218, col 9, in process._tickDomainCallback

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions