Ошибка при получении ключей из кеша NiFi - PullRequest
0 голосов
/ 13 марта 2020

Мы пытаемся извлечь ключи из кеша NiFi, который часто используется и имеет большое количество записей. Однако мы получаем ошибку

java -jar groovy-all-2.4.13.jar dcache.groovy xxxxxxx.systems.xx.xxxx 9999 keys | wc -l
Caught: java.io.EOFException
java.io.EOFException
        at java_io_DataInput$readInt.call(Unknown Source)
        at dcache$_run_closure1$_closure5.doCall(dcache.groovy:141)
        at dcache$_run_closure1.doCall(dcache.groovy:140)
        at dcache.run(dcache.groovy:44)
5097

Мы не знакомы с groovy. Однако эта команда работает с другим кешем с меньшим количеством записей и редко используется. Это код, который мы используем

def dos = new DataOutputStream(output)
  def dis = new DataInputStream(input)
          dos.writeUTF('keySet')
          dos.flush()
          int numKeys = dis.readInt()
          (0..numKeys-1).each { 
            def length = dis.readInt()
            def bytes = new byte[length]
            dis.readFully(bytes)
            println new String(bytes)
          }
...