Brian, did any of your issues with java 7 result in corrupting data in cassandra?

We just ran into an issue after upgrading a test cluster from Cassandra 1.1.5 and Oracle JDK 1.6.0_29-b11 to Cassandra 1.1.7 and 7u10.  

What we saw is values in columns with validation Class=org.apache.cassandra.db.marshal.LongType that were proper integers becoming corrupted so that they become stored as strings.  I don't have a reproducible test case yet but will work on making one over the holiday if I can.

For example, a column with a long type that was originally written and stored properly (say with value 1200) was somehow changed during cassandra operations (compaction seems the only possibility) to be the value '1200' with quotes.

The data was written using the phpcassa library and that application and library haven't been changed.  This has only happened on our test cluster which was upgraded and hasn't happened on our live cluster which was not upgraded.  Many of our column families were affected and all affected columns are Long (or bigint for cql3).

Errors when reading using CQL3 command client look like this:

Failed to decode value '1356441225' (for column 'expires') as bigint: unpack requires a string argument of length 8

and when reading with cassandra-cli the error is 

[default@cf] get token['fbc1e9f7cc2c0c2fa186138ed28e5f691613409c0bcff648c651ab1f79f9600b'];
=> (column=client_id, value=8ec4c29de726ad4db3f89a44cb07909c04f90932d, timestamp=1355836425784329, ttl=648000)
A long is exactly 8 bytes: 10




-Bryan





On Mon, Dec 17, 2012 at 7:33 AM, Brian Tarbox <tarbox@cabotresearch.com> wrote:
I was using jre-7u9-linux-x64  which was the latest at the time.

I'll confess that I did not file any bugs...at the time the advice from both the Cassandra and Zookeeper lists was to stay away from Java 7 (and my boss had had enough of my reporting that "the problem was Java 7" for me to spend a lot more time getting the details).

Brian


On Sun, Dec 16, 2012 at 4:54 AM, Sylvain Lebresne <sylvain@datastax.com> wrote:
On Sat, Dec 15, 2012 at 7:12 PM, Michael Kjellman <mkjellman@barracuda.com> wrote:
What "issues" have you ran into? Actually curious because we push 1.1.5-7 really hard and have no issues whatsoever.


A related question is "which which version of java 7 did you try"? The first releases of java 7 were apparently famous for having many issues but it seems the more recent updates are much more stable.

--
Sylvain
 
On Dec 15, 2012, at 7:51 AM, "Brian Tarbox" <tarbox@cabotresearch.com> wrote:

We've reverted all machines back to Java 6 after running into numerous Java 7 issues...some running Cassandra, some running Zookeeper, others just general problems.  I don't recall any other major language release being such a mess.


On Fri, Dec 14, 2012 at 5:07 PM, Bill de hÓra <bill@dehora.net> wrote:
"At least that would be one way of defining "officially supported".

Not quite, because, Datastax is not Apache Cassandra.

"the only issue related to Java 7 that I know of is CASSANDRA-4958, but that's osx specific (I wouldn't advise using osx in production anyway) and it's not directly related to Cassandra anyway so you can easily use the beta version of snappy-java as a workaround if you want to. So that non blocking issue aside, and as far as we know, Cassandra supports Java 7. Is it rock-solid in production? Well, only repeated use in production can tell, and that's not really in the hand of the project."

Exactly right. If enough people use Cassandra on Java7 and enough people file bugs about Java 7 and enough people work on bugs for Java 7 then Cassandra will eventually work well enough on Java7.

Bill

On 14 Dec 2012, at 19:43, Drew Kutcharian <drew@venarc.com> wrote:

> In addition, the DataStax official documentation states: "Versions earlier than 1.6.0_19 should not be used. Java 7 is not recommended."
>
> http://www.datastax.com/docs/1.1/install/install_rpm
>
>
>
> On Dec 14, 2012, at 9:42 AM, Aaron Turner <synfinatic@gmail.com> wrote:
>
>> Does Datastax (or any other company) support Cassandra under Java 7?
>> Or will they tell you to downgrade when you have some problem, because
>> they don't support C* running on 7?
>>
>> At least that would be one way of defining "officially supported".
>>
>> On Fri, Dec 14, 2012 at 2:22 AM, Sylvain Lebresne <sylvain@datastax.com> wrote:
>>> What kind of official statement do you want? As far as I can be considered
>>> an official voice of the project, my statement is: "various people run in
>>> production with Java 7 and it seems to work".
>>>
>>> Or to answer the initial question, the only issue related to Java 7 that I
>>> know of is CASSANDRA-4958, but that's osx specific (I wouldn't advise using
>>> osx in production anyway) and it's not directly related to Cassandra anyway
>>> so you can easily use the beta version of snappy-java as a workaround if you
>>> want to. So that non blocking issue aside, and as far as we know, Cassandra
>>> supports Java 7. Is it rock-solid in production? Well, only repeated use in
>>> production can tell, and that's not really in the hand of the project. We do
>>> obviously encourage people to try Java 7 as much as possible and report any
>>> problem they may run into, but I would have though this goes without saying.
>>>
>>>
>>> On Fri, Dec 14, 2012 at 4:05 AM, Rob Coli <rcoli@palominodb.com> wrote:
>>>>
>>>> On Thu, Dec 13, 2012 at 11:43 AM, Drew Kutcharian <drew@venarc.com> wrote:
>>>>> With Java 6 begin EOL-ed soon
>>>>> (https://blogs.oracle.com/java/entry/end_of_public_updates_for), what's the
>>>>> status of Cassandra's Java 7 support? Anyone using it in production? Any
>>>>> outstanding *known* issues?
>>>>
>>>> I'd love to see an official statement from the project, due to the
>>>> sort of EOL issues you're referring to. Unfortunately previous
>>>> requests on this list for such a statement have gone unanswered.
>>>>
>>>> The non-official response is that various people run in production
>>>> with Java 7 and it seems to work. :)
>>>>
>>>> =Rob
>>>>
>>>> --
>>>> =Robert Coli
>>>> AIM&GTALK - rcoli@palominodb.com
>>>> YAHOO - rcoli.palominob
>>>> SKYPE - rcoli_palominodb
>>>
>>>
>>
>>
>>
>> --
>> Aaron Turner
>> http://synfin.net/         Twitter: @synfinatic
>> http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows
>> Those who would give up essential Liberty, to purchase a little temporary
>> Safety, deserve neither Liberty nor Safety.
>>   -- Benjamin Franklin
>> "carpe diem quam minimum credula postero"
>



----------------------------------
Join Barracuda Networks in the fight against hunger.
To learn how you can help in your community, please visit: http://on.fb.me/UAdL4f
  ­­