tarantool/node-tarantool-driver

Error: list argument must be an Array of Buffers

monolithed opened this issue · 2 comments

for (var i = 0; i <= 686; i++) {
     tarantool.insert(512, ['key' + i, i]);  // ok
}
for (var i = 0; i <= 687; i++) {
     tarantool.insert(512, ['key' + i, i]);  // error
}
buffer.js:196
    throw new TypeError('list argument must be an Array of Buffers.');
    ^
TypeError: list argument must be an Array of Buffers.
    at Function.Buffer.concat (buffer.js:196:11)
    at TarantoolConnection.onData (/usr/local/www/node_modules/tarantool-driver/lib/connection.js:83:64)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)
    at Socket.Readable.push (_stream_readable.js:126:10)
    at TCP.onread (net.js:538:20)

Тоже самое повторяется и на других операциях, стоит лишь увеличить число обращений

            var trackResult = this._responseBufferTrack(Buffer.concat(this.buffer, data), this.awaitingResponseLength);

https://github.com/KlonD90/node-tarantool-driver/blob/master/lib/connection.js#L83

@KlonD90, тут явно что-то не то, поскольку перый аргумент может быть null (теоретически), а вторым приходят данные, хотя ожидается числовое значение. Наверное имелось ввиду
Buffer.concat([this.buffer, data]) ?

@monolithed Спасибо ща гляну.

@monolithed абсолютно прав.