Page tree

Old Release

This documentation covers an old version of Fedora. Looking for another version? See all documentation.

Skip to end of metadata
Go to start of metadata

Requirements:

  • Node Js
  • levelup and leveldown node modules

Setup:

  1. Install node js. See: http://howtonode.org/how-to-install-nodejs
  2. Install levelup and leveldown node modules
    • npm install levelup -g
    • npm install leveldown -g
  3. Set NODE_PATH to the location of the module installation.
    • E.g. export NODE_PATH=/usr/local/lib/node_modules/
  4. If you get runtime error about missing specific version of leveldown, install that version of leveldown.
    1. E.g. npm install leveldown@0.10.0 -g

Description:

Most ready-to-use levelDB visualization tools did not work with infinispan's levelDB cache due to the way the keys are serialized. This is because the serialized key includes characters that could not be represented in utf8.

Three example utility scripts:

  • print-ldb.js
    • Syntax: node print-ldb.js /path/to/db
  • view-key.js
    • Syntax: node print-ldb.js /path/to/db key-suffix
  • del.key.js
    • Syntax: node print-ldb.js /path/to/db key-suffix

Since the keys have unrecognizable characters in them, the key-suffix input to the view and delete utility scripts should only include the suffix that does not include any unrecognizable characters. This view and delete scripts would try to match keys with the specified suffix to display or delete ALL of them respectively.

For example, if the print-ldb.js displays a key as "�87a0a8c317f1e7/", use "87a0a8c317f1e7/" as key-suffix to view-key.js or del-key.js.

levelup JS API reference: https://github.com/rvagg/node-levelup

Rename file suffx .ldb to .sst

Modifying the database using the levelup interface would save the database with a .ldb extension. As infinispan would expect .sst files, rename the file suffix from .ldb to .sst after modifying it with levelup.

 

NOTE: Externally modifying the database should only be considered as a last resort to restore corrupt database. Create backup of your database before modifying it.