cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenny (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-1057) Login information stored in threads may be reused.
Date Fri, 28 May 2010 17:26:37 GMT


Kenny commented on CASSANDRA-1057:

Not really. I sent a patch to the thrift-user list, but didn't receive a reply on it. I also
cloned the thrift repo on github and was working on this patch:

I haven't had a lot of time to look at it lately though. I was going to look at if it made
sense to add builder to the other servers. 
Thrift 0.3 is about to come out, so maybe I'll see if I can get them to include a fix before

As a workaround in another project I work on I copied the TThreadPoolServer and was using
my own version. You can see my workaround @:

This TThreadPoolServer takes an ExecutorService in which I override the afterExecute() to
call my logout() on the thread. Seems to work well.

> Login information stored in threads may be reused.
> --------------------------------------------------
>                 Key: CASSANDRA-1057
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.6
>            Reporter: Kenny
>            Priority: Minor
>             Fix For: 0.6.3
> CassandraServer stores the login information in a ThreadLocal<AccessLevel>.
> CassandraDaemon starts the server with 64 threads. When the first 64 clients connect
they should get their own thread, but after that threads will be reused.
> In a quick test I created a Server with 5 threads, and a ThreadLocal<Integer>,
and the value is seen by new clients connecting.
> Thrift doesn't destroy the threads when a client disconnects. Maybe an option in Thrift
would make more sense to make this method usable.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message