titan core 2.0 bug : com.esotericsoftware.kryo.KryoException: Buffer too small: capacity: 2, require


I have a titan graph setup using following versions of software.

Cassandra version : 2.0.6

Titan version : 0.4.2

5 cassandra server with replication factor 3.

Recently, all of sudden, we have started getting following error intermittently.

com.esotericsoftware.kryo.KryoException: Buffer too small: capacity: 2, required: 8

I searched net and found that there is a bug filed relating to same error. Bug is pertaining to kryo API. <a href="https://code.google.com/p/kryo/issues/detail?id=124" rel="nofollow">https://code.google.com/p/kryo/issues/detail?id=124</a>

Fix of above bug is not incorporated in titan-0.4.2 version.

On cassandra server we have not run repair database for many days (6 months). Can it be the issue with inconsistent data on cassandra server?

Can you please suggest the reason for this bug and how to approach solving it?


Judging from this issue (which discusses Faunus, but is likely very related), i'm not so sure that there is a solution:

<a href="https://github.com/thinkaurelius/titan/issues/809" rel="nofollow">https://github.com/thinkaurelius/titan/issues/809</a>

According to the issue, it looks like the 0.4.x solution was to change the hardcoded limit and recompile:

<a href="https://github.com/thinkaurelius/titan/blob/0.4.4/titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/kryo/KryoSerializer.java#L37" rel="nofollow">https://github.com/thinkaurelius/titan/blob/0.4.4/titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/kryo/KryoSerializer.java#L37</a>


  • Resolving Dependencies in creating JAR through SBT assembly
  • Error using Spark's Kryo serializer with java protocol buffers that have arrays of strings
  • Google OAuth2: Asking for no information (empty scope)
  • compile error when using boost::lockfree::spsc_queue (Is it a bug in boost?)
  • phpMyAdmin: “URI too large”
  • Why is wpf UpdateSourceTrigger not binding explicitly?
  • How to debug 'value of ESP was not saved across function call' error?
  • iOS 8.3 - Metal, found nil while unwrapping an Optional Value
  • Noise after changing volume in QAudioOutput
  • Convert base64 image to a file in Node Js
  • Control a pager (like the less program) from an extenal (parent) script
  • file read() const correctness
  • Pass Arbitrary Sized 2 Dimension Array
  • boost::format vs sprintf
  • How to read data from socket connection - android
  • How to prevent two volume claims to claim the same volume on Kubernetes?
  • C++ Text File Reading
  • Declare PtrSafe Compatibility in Excel
  • In VIm, how to remove all lines that are duplicate somewhere?
  • C++ String tokenisation from 3D .obj files
  • Determining the length of a read stream in node js
  • What is “PHP-standardized” version number strings?
  • Generating random numbers directly inside a .htaccess file
  • How to create virtual printer with iOS Simulator?
  • incomplete type 'struct' error in C
  • Do I need to seed any random number generator before using EVP_PKEY_keygen of OpenSSL?
  • Does Mobilefirst provide a provision to access web services directly?
  • Using a canvas object in a thread to do simple animations - Java
  • SharedPreferences or SQLite Database?
  • With Hadoop, can I create a tasktracker on a machine that isn't running a datanode?
  • Using $this when not in object context
  • java.lang.NoClassDefFoundError: com.parse.Parse$Configuration$Builder on below Lollipop versions
  • Uncaught Error: Could not find module `ember-load-initializers`
  • Get object from AWS S3 as a stream
  • Cross-Platform Protobuf Serialization
  • Validaiting emails with Net.Mail MailAddress
  • Do I've to free mysql result after storing it?
  • Codeigniter doesn't let me update entry, because some fields must be unique
  • Does armcc optimizes non-volatile variables with -O0?
  • Programmatically clearing map cache