Re: Mass deletion -- slowing down

2011-11-14 Thread Guy Incognito
i think what he means is...do you know what day the 'oldest' day is?  eg 
if you have a rolling window of say 2 weeks, structure your query so 
that your slice range only goes back 2 weeks, rather than to the 
beginning of time.  this would avoid iterating over all the tombstones 
from prior to the 2 week window.  this wouldn't work if you are deleting 
arbitrary days in the middle of your date range.


On 14/11/2011 02:02, Maxim Potekhin wrote:

Thanks Peter,

I'm not sure I entirely follow. By the oldest data, do you mean the
primary key corresponding to the limit of the time horizon? 
Unfortunately,
unique IDs and the timstamps do not correlate in the sense that 
chronologically
newer entries might have a smaller sequential ID. That's because the 
timestamp
corresponds to the last update that's stochastic in the sense that the 
jobs can take

from seconds to days to complete. As I said I'm not sure I understood you
correctly.

Also, I note that queries on different dates (i.e. not contaminated 
with lots

of tombstones) work just fine, which is consistent with the picture that
emerged so far.

Theoretically -- would compaction or cleanup help?

Thanks

Maxim




On 11/13/2011 8:39 PM, Peter Schuller wrote:
I do limit the number of rows I'm asking for in Pycassa. Queries on 
primary

keys still work fine,

Is it feasable in your situation to keep track of the oldest possible
data (for example, if there is a single sequential writer that rotates
old entries away it could keep a record of what the oldest might be)
so that you can bound your index lookup= that value (and avoid the
tombstones)?







Re: indexes from CassandraSF

2011-11-14 Thread Guy Incognito

ok great, thanks ed, that's really helpful.

just wanted to make sure i wasn't missing something fundamental.

On 13/11/2011 23:57, Ed Anuff wrote:

Yes, correct, it's not going to clean itself.  Using your example with
a little more detail:

1 ) A(T1) reads previous location (T0,L0) from index_entries for user U0
2 ) B(T2) reads previous location (T0,L0) from index_entries for user U0
3 ) A(T1) deletes previous location (T0,L0) from index_entries for user U0
4 ) B(T2) deletes previous location (T0,L0) from index_entries for user U0
5 ) A(T1) deletes previous location (L0,T0,U0) for user U0 from index
6 ) B(T2) deletes previous location (L0,T0,U0) for user U0 from index
7 ) A(T1) inserts new location (T1,L1) into index_entries for user U0
8 ) B(T2) inserts new location (T2,L2) into index_entries for user U0
9 ) index_entries for user U0 now contains (T1,L1),(T2,L2)
10) A(T1) inserts new location (L1,T1,U0) for user U0 into index
11) B(T2) inserts new location (L2,T2,U0) for user U0 into index
12) A(T1) sets new location (L1) on user U0
13) B(T2) sets new location (L2) on user U0
14) C(T3) queries for users where location equals L1, gets back user
U0 where current location is actually L2

So, you want to either verify on read by making sure the queried field
is correct before returning it in your result set to the rest of your
app, or you want to use locking (ex. lock on (U0,location) during
updates).  The key thing here is that although the index is not in the
desired state at (14), the information is in the system to get to that
state (the previous values in index_entries).  This lets the cleanup
happen on the next update of location for user U0:

15) D(T4) reads previous locations (T1,L1),(T2,L2) from index entries
for user U0
16) D(T4) deletes previous locations (T1,L1),(T2,L2) from index
entries for user U0
17) D(T4) deletes previous locations (L1,T1,U0),(L2,T2,U0) for user U0
from index
18) D(T4) inserts new location (T4,L3) into index entries for user U0
19) D(T4) inserts new location (L3,T4,U0) for user U0 into index
20) D(T4) sets new location (L3) on user U0

BTW, just to reiterate since this sometimes comes up, the timestamps
being stored in these tuples are not longs, they're time UUIDs, so T1
and T2 are never equal.

Ed


On Sun, Nov 13, 2011 at 6:52 AM, Guy Incognitodnd1...@gmail.com  wrote:

[1] i'm not particularly worried about transient conditions so that's ok.  i
think there's still the possibility of a non-transient false positive...if 2
writes were to happen at exactly the same time (highly unlikely), eg

1) A reads previous location (L1) from index entries
2) B reads previous location (L1) from index entries
3) A deletes previous location (L1) from index entries
4) B deletes previous location (L1) from index entries
5) A deletes previous location (L1) from index
6) B deletes previous location (L1) from index
7) A enters new location (L2) into index entries
8) B enters new location (L3) into index entries
9 ) A enters new location (L2) into index
10) B enters new location (L3) into index
11) A sets new location (L2) on users
12) B sets new location (L2) on users

after this, don't i end up with an incorrect L2 location in index entries
and in the index, that won't be resolved until the next write of location
for that user?

[2] ah i see...so the client would continuously retry until the update
works.  that's fine provided the client doesn't bomb out with some other
error, if that were to happen then i have potentially deleted the index
entry columns without deleting the corresponding index columns.

i can handle both of the above for my use case, i just want to clarify
whether they are possible (however unlikely) scenarios.

On 13/11/2011 02:41, Ed Anuff wrote:

1) The index updates should be eventually consistent.  This does mean
that you can get a transient false-positive on your search results.
If this doesn't work for you, then you either need to use ZK or some
other locking solution or do read repair by making sure that the row
you retrieve contains the value you're searching for before passing it
on to the rest of your applicaiton.

2)  You should be able to reapply the batch updates til they succeed.
The update is idempotent.  One thing that's important that the slides
don't make clear is that this requires using time-based uuids as your
timestamp components.  Take a look at the sample code.

Hope this helps,

Ed

On Sat, Nov 12, 2011 at 3:59 PM, Guy Incognitodnd1...@gmail.comwrote:

help?

On 10/11/2011 19:34, Guy Incognito wrote:

hi,

i've been looking at the model below from Ed Anuff's presentation at
Cassandra CF (http://www.slideshare.net/edanuff/indexing-in-cassandra).
  Couple of questions:

1) Isn't there still the chance that two concurrent updates may end up
with the index containing two entries for the given user, only one of
which
would be match the actual value in the Users cf?

2) What happens if your batch fails partway through the update?  If i
understand 

RE: Client Timeouts on incrementing counters

2011-11-14 Thread Carlos Rolo
I have digged a bit more to try to find the root cause of the error, and I have 
some more information.

It seems that all started after I upgraded Cassandra from 0.8.x to 1.0.0
When I do a incr on the CLI I also get a timeout.
row_cache_save_period_in_seconds is set to 60sec.

Could be a problem from the upgrade? I just did a rolling restart of all nodes 
one-by-one.


From: Tyler Hobbs [mailto:ty...@datastax.com]
Sent: vrijdag 11 november 2011 20:18
To: user@cassandra.apache.org
Subject: Re: Client Timeouts on incrementing counters

On Fri, Nov 11, 2011 at 7:17 AM, Carlos Rolo 
c.r...@ocom.commailto:c.r...@ocom.com wrote:
Also Cassandra logs have lots (as in, several times per second) of this message 
now:

INFO 14:15:25,740 Saved ClusterCassandra-CounterFamily-RowCache (52 items) in 1 
ms


What does the CLI say the row_cache_save_period_in_seconds for this CF is?

--
Tyler Hobbs
DataStaxhttp://datastax.com/


Re: Fast lookups for userId to username and vice versa

2011-11-14 Thread chovatia jaydeep
Check if Cassandra secondary index meets your requirement.


Thank you,
Jaydeep


From: Aklin_81 asdk...@gmail.com
To: user user@cassandra.apache.org
Sent: Sunday, 13 November 2011 12:32 PM
Subject: Fast lookups for userId to username and vice versa


I need to create mapping from userId(s) to username(s) which need to 
provide for fast lookups service ?
Also I need to provide a mapping from username to userId inorder to 
implement search functionality in my application.


What could be a good strategy to implement this ? (I would welcome suggestions 
to use any new technologies if they are really worth for my case.)

Re: multi datacenter cluster, without fibre speeds

2011-11-14 Thread M Vieira
Thanks for your feedback Kolar.
Well to be honest I was thinking of using that connection in production,
not for a backup node.

My Cassandra deployment works just like an expensive file caching and
replication - I mean, all I use it for is to replicate some 5million files
of 2M each across few nodes and intensively read/write.
I used MySQL until around I had some 1.2Million entries, then sharding it
when numbers grow larger.
Not only the files themselves but I also need to attach some tags to each
file (see them as key=value) so I though of Haadop but in the end settle
for Cassandra because of better consistency, community support, no single
point of failure and some!

Thanks, Marco
On Nov 11, 2011 7:09 PM, Radim Kolar h...@sendmail.cz wrote:

 Dne 11.11.2011 19:14, M Vieira napsal(a):

 Has anyone experimented running cassandra clusters in geographicly
 separated locations connected thru ordinary broadband?
 By ordinary broadband I mean 30Mbps or 50Mbps

 for backup purposes, like place 1 replica on remote location over WAN??
 yes. it works good enough, only anti-entropy repairs are kinda slow. Just
 make sure that applications will not read from that remote node.



Re: multi datacenter cluster, without fibre speeds

2011-11-14 Thread Radim Kolar


Well to be honest I was thinking of using that connection in 
production, not for a backup node.


For productions. there are several problems. Added network latency which 
is inconsistent and vary greatly during day, sometimes you will face 
network lags which will break cluster for a while (about 1-2 minutes). 
Also network bandwidth is problem especially during peak hours. It might 
not be problem if you dont have interactive workload - app can wait, 
human cant. Be sure to use connection pooling to different servers at 
client. Over WAN you can have about 4:1 ratio in available bw in peak 
hours/night hours. - You need to schedule antientropy repairs at nights.


My Cassandra deployment works just like an expensive file caching and 
replication - I mean, all I use it for is to replicate some 5million 
files of 2M each across few nodes and intensively read/write.


for mass replication of large files hadoop is really better then 
cassandra because there are no compactions.


Not only the files themselves but I also need to attach some tags to 
each file (see them as key=value) so I though of Haadop but in the end 
settle for Cassandra because of better consistency, community support, 
no single point of failure and some!


hadoop is far better then cassandra for batch processing if your batch 
processing changes majority of data set. SPOF is not problem, but it is 
way harder to write optimised applications for hadoop, its kinda low level.


Re: multi datacenter cluster, without fibre speeds

2011-11-14 Thread M Vieira
Broadband here is fairly stable, to be honest don't remember last time I
had problems such as larger than expected latency or downtime - ISP Bethere
/UK
My application can cope fine with up to 10 min lag (data
freshness), however taking your input into consideration I agree with you,
so don't think I should trust the setup and believe my data will be sync'ed
across the two clusters as failures will surely occur.

Regarding Hadoop, it requires a lot more coding if compared to what I need
to get my app working with Cassandra. Also, Hadoop's single point of
failure weakness scares me because I don't have budget nor time to work on
fail-safe kind of solution.

Once again, thanks for your feedback

Marco



On 14 November 2011 09:43, Radim Kolar h...@sendmail.cz wrote:


  Well to be honest I was thinking of using that connection in production,
 not for a backup node.

  For productions. there are several problems. Added network latency which
 is inconsistent and vary greatly during day, sometimes you will face
 network lags which will break cluster for a while (about 1-2 minutes). Also
 network bandwidth is problem especially during peak hours. It might not be
 problem if you dont have interactive workload - app can wait, human cant.
 Be sure to use connection pooling to different servers at client. Over WAN
 you can have about 4:1 ratio in available bw in peak hours/night hours. -
 You need to schedule antientropy repairs at nights.


 My Cassandra deployment works just like an expensive file caching and
 replication - I mean, all I use it for is to replicate some 5million files
 of 2M each across few nodes and intensively read/write.

  for mass replication of large files hadoop is really better then
 cassandra because there are no compactions.


 Not only the files themselves but I also need to attach some tags to each
 file (see them as key=value) so I though of Haadop but in the end settle
 for Cassandra because of better consistency, community support, no single
 point of failure and some!

  hadoop is far better then cassandra for batch processing if your batch
 processing changes majority of data set. SPOF is not problem, but it is way
 harder to write optimised applications for hadoop, its kinda low level.



compaction on hintedhandoff is done too early

2011-11-14 Thread Radim Kolar
from log output it seems that during hintedhandoff delivery compaction 
is kicked too soon. There needs to be some delay for flusher to write 
sstable.


 INFO [GossipStage:1] 2011-11-14 13:16:03,933 Gossiper.java (line 745) 
InetAddress /***.99.40 is now UP
 INFO [HintedHandoff:1] 2011-11-14 13:16:15,064 
HintedHandOffManager.java (line 268) Started hinted handoff for token: 
99070591730234615865843651857942052864 with IP: /*.99.40
 WARN [pool-1-thread-1] 2011-11-14 13:16:18,389 Memtable.java (line 
169) setting live ratio to minimum of 1.0 instead of 0.5454013335736169
 INFO [pool-1-thread-1] 2011-11-14 13:16:18,389 Memtable.java (line 
179) CFS(Keyspace='system', ColumnFamily='HintsColumnFamily') liveRatio 
is 2.3651230775748844 (just-counted was 1.0).  calculation took 10ms for 
492 columns
 INFO [HintedHandoff:1] 2011-11-14 13:16:19,347 ColumnFamilyStore.java 
(line 688) Enqueuing flush of 
Memtable-HintsColumnFamily@258947641(693625/2050635 serialized/live 
bytes, 985 ops)
 INFO [FlushWriter:4] 2011-11-14 13:16:19,348 Memtable.java (line 239) 
Writing Memtable-HintsColumnFamily@258947641(693625/2050635 
serialized/live bytes, 985 ops)
 INFO [CompactionExecutor:9] 2011-11-14 13:16:19,348 
CompactionTask.java (line 238) Nothing to compact in HintsColumnFamily.  
Use forceUserDefinedCompaction if you wish to force compaction of single 
sstables (e.g. for tombstone collection)
 INFO [HintedHandoff:1] 2011-11-14 13:16:19,348 
HintedHandOffManager.java (line 334) Finished hinted handoff of 492 rows 
to endpoint
 INFO [FlushWriter:4] 2011-11-14 13:16:19,365 Memtable.java (line 275) 
Completed flushing 
/usr/local/cassandra/data/system/HintsColumnFamily-hb-2-Data.db (711045 
bytes)


Random access

2011-11-14 Thread Thomas Anderson
I am new to cassandra. I search for random write examples in wiki
(http://wiki.apache.org/cassandra/ClientOptions) and mailing list, but
do not find similar one. My question is - does cassandra suppport
random write access? Is there any code example that explains this? Or
any doc that may provide some information needed?

Thanks


Re: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Brandon Williams
On Mon, Nov 14, 2011 at 1:21 AM, Michael Vaknine micha...@citypath.com wrote:
 Hi,

 After configuring the encryption on Cassandra.yaml I get this error when
 upgrading from 1.0.0 to 1.0.2
 Attached the log file with the errors.

https://issues.apache.org/jira/browse/CASSANDRA-3466

-Brandon


RE: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Michael Vaknine
Does this means that I have to wait to 1.0.3? 

-Original Message-
From: Brandon Williams [mailto:dri...@gmail.com] 
Sent: Monday, November 14, 2011 3:51 PM
To: user@cassandra.apache.org
Cc: cassandra-u...@incubator.apache.org
Subject: Re: Upgrade Cassandra Cluster to 1.0.2

On Mon, Nov 14, 2011 at 1:21 AM, Michael Vaknine micha...@citypath.com
wrote:
 Hi,

 After configuring the encryption on Cassandra.yaml I get this error when
 upgrading from 1.0.0 to 1.0.2
 Attached the log file with the errors.

https://issues.apache.org/jira/browse/CASSANDRA-3466

-Brandon



Re: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Brandon Williams
On Mon, Nov 14, 2011 at 7:53 AM, Michael Vaknine micha...@citypath.com wrote:
 Does this means that I have to wait to 1.0.3?

In the meantime you can just delete the hints and rely on read repair
or antientropy repair if you're concerned about the consistency of
your replicas.

-Brandon


Ec2Snitch and Ec2MultiRegionSnitch - does us-west-2 cause a bug with this snitch?

2011-11-14 Thread Allen Servedio
Hi,

As of Nov. 9, 2011 Amazon added us-west-2 (US West Oregon) region:
http://aws.typepad.com/aws/2011/11/now-open-us-west-portland-region.html

In looking at the EC2Snitch code (in the 0.8.x and 1.0.x branches), I see
it determining which data center (which I think is supposed to be
equivalent to region) it is in by this:

public Ec2Snitch() throws IOException, ConfigurationException
{
// Split us-east-1a or asia-1a into us-east/1a and asia/1a.
String[] splits = awsApiCall(ZONE_NAME_QUERY_URL).split(-);
ec2zone = splits[splits.length - 1];
ec2region = splits.length  3 ? splits[0] : splits[0] + - + splits[1];
logger.info(EC2Snitch using region:  + ec2region + , zone:
 + ec2zone + .);
}


The Ec2MultiRegionSnitch then has this reconnect logic - which I think the
existence of a us-west-1 and us-west-2 regions and the way the Ec2Snitch is
assigning data centers will cause this to break:

private void reConnect(InetAddress endpoint, VersionedValue versionedValue)
{
if (!getDatacenter(endpoint).equals(getDatacenter(public_ip)))
return; // do nothing return back...

try
{
InetAddress remoteIP = InetAddress.getByName(versionedValue.value);

MessagingService.instance().getConnectionPool(endpoint).reset(remoteIP);
logger.debug(String.format(Intiated reconnect to an
Internal IP %s for the %s, remoteIP, endpoint));
} catch (UnknownHostException e)
{
logger.error(Error in getting the IP address resolved: , e);
}
}

Am I correct or do I not understand what was intended by these snitches?

Allen


RE: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Michael Vaknine
Well,
I tried to delete the hints on the failed cluster but I could not start it
I got other errors such as 

ERROR [MutationStage:34] 2011-11-14 15:37:43,813
AbstractCassandraDaemon.java (line 133) Fatal exception in thread
Thread[MutationStage:34,5,main]
java.lang.StackOverflowError
at
java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceField
UpdaterImpl.updateCheck(AtomicReferenceFieldUpdater.java:216)
at
java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceField
UpdaterImpl.compareAndSet(AtomicReferenceFieldUpdater.java:227)
at
java.util.concurrent.ConcurrentSkipListMap.casHead(ConcurrentSkipListMap.jav
a:359)
at
java.util.concurrent.ConcurrentSkipListMap.insertIndex(ConcurrentSkipListMap
.java:968)
at
java.util.concurrent.ConcurrentSkipListMap.doPut(ConcurrentSkipListMap.java:
898)
at
java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(ConcurrentSkipListMap
.java:1893)
at
org.apache.cassandra.db.ThreadSafeSortedColumns.addColumn(ThreadSafeSortedCo
lumns.java:88)
at
org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnCont
ainer.java:122)
at
org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnCont
ainer.java:117)
at
org.apache.cassandra.db.columniterator.SSTableNamesIterator.readIndexedColum
ns(SSTableNamesIterator.java:183)
at
org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableName
sIterator.java:130)
at
org.apache.cassandra.db.columniterator.SSTableNamesIterator.init(SSTableNa
mesIterator.java:72)
at
org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(Nam
esQueryFilter.java:60)
at
org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFil
ter.java:78)
at
org.apache.cassandra.db.CollationController.collectTimeOrderedData(Collation
Controller.java:113)
at
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationCont
roller.java:62)
at
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilySto
re.java:1278)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1164)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1126)
at
org.apache.cassandra.db.Table.readCurrentIndexedColumns(Table.java:507)
 
187179,2-995%

Should I have deleted all the hints on all the clustr?
Is 1.0.0 stable enough? I am checking this and don't want to upgrade again
in a week or so.

Thanks
Michael

-Original Message-
From: Brandon Williams [mailto:dri...@gmail.com] 
Sent: Monday, November 14, 2011 4:01 PM
To: user@cassandra.apache.org
Cc: cassandra-u...@incubator.apache.org
Subject: Re: Upgrade Cassandra Cluster to 1.0.2

On Mon, Nov 14, 2011 at 7:53 AM, Michael Vaknine micha...@citypath.com
wrote:
 Does this means that I have to wait to 1.0.3?

In the meantime you can just delete the hints and rely on read repair
or antientropy repair if you're concerned about the consistency of
your replicas.

-Brandon



Re: Random access

2011-11-14 Thread Radim Kolar

I am new to cassandra. I search for random write examples

you can access cassandra data at any node and keys can be accessed at 
random.


Re: questions on frequency and timing of async replication between DCs

2011-11-14 Thread Konstantin Naryshkin
It may be the case that your CL is the issue. You are writing it at
ONE, which means that out of the 4 replicas of that key (two in each
data center), you are only putting it on one of them. When you read at
CL ONE, if only looks at a single replica to see if the data is there.
In other words. If your read and your write do not select the same
node to look at, there is no guarantee that any successfully written
data is going to be there. The rule is, in order to be able to access
data properly, CL.READ + CL.WRITE  RF. Your RF is 4 while your CL are
both 1.

On Fri, Nov 11, 2011 at 18:35, Subrahmanya Harve
subrahmanyaha...@gmail.com wrote:

 If i query by list command, i do see the data i am looking for.
 Interestingly, if do list on each of the nodes using cli, i get back a
 different number of rows!
 i did not want to query by ALL because of 2 reasons - 1. It might take too
 long to return. 2 it might not return me anything just because a node was
 temporarily down?
 any idea whats going on here?
 i am also wondering if anyone has gone to production with cross-dc using
 0.8.7 and how its working out? lessons learnt, etc


 On Fri, Nov 11, 2011 at 2:55 PM, Jeremiah Jordan
 jeremiah.jor...@morningstar.com wrote:

 If you query with ALL do you get the data?  If you query with a range
 slice do you get the data (list from the cli)?

 On 11/11/2011 04:10 PM, Subrahmanya Harve wrote:

 I have cross dc replication set up using 0.8.7 with 3 nodes on each DC by
 following the +1 rule for tokens.
 I am seeing an issue where the insert into a DC happened successfully but
 on querying from cli or through Hector, i am not seeing the data being
 returned. i used cli on every node of both DCs and every node returned
 blank. So basic question is where is my data? CL.WRITE=ONE, CL.READ=1. RF =
 DC:2, DC:2
 Apart from checking the data directory size on each DC to verify that
 cross-dc replication has happened, what others steps can i take to verify
 that cross dc replication is happening successfully? What tuning params can
 i control with regard to cross-dc replication? (frequency? batch size?, etc)

 would greatly appreciate any help.





Re: Is a direct upgrade from .6 to 1.0 possible?

2011-11-14 Thread Jeremiah Jordan
You should be able to do it as long as you shut down the whole cluster 
for it:


http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Upgrading-to-1-0-tp6954908p6955316.html


On 11/13/2011 02:14 PM, Timothy Smith wrote:

Due to some application dependencies I've been holding off on a
Cassandra upgrade for a while.  Now that my last application using the
old thrift client is updated I have the green light to prep my
upgrade.  Since I'm on .6 the upgrade is obviously a bit trickier.  Do
the standard instructions for upgrading from .6 to .7 still apply or
do I have to step from .6 -  .7 -  1.0?

Thanks,
Tim


Re: Random access

2011-11-14 Thread Peter Schuller
 you can access cassandra data at any node and keys can be accessed at
 random.

Including individual columns in a row.

-- 
/ Peter Schuller (@scode, http://worldmodscode.wordpress.com)


Cassandra London - Monday 21/11

2011-11-14 Thread Dave Gardner
Hi all,

Quick note about our Cassandra London 1st birthday party!

We'll be looking at what's changed in Cassandra over the past year,
with talks on feature improvements, performance and Hadoop
integration. Please come along if you're UK-based! It's a great chance
to meet other Cassandra users.

http://www.meetup.com/Cassandra-London/events/36802872/

Dave


Proposed 1.0.3: StackOverflowError on repair

2011-11-14 Thread Jonas Borgström

Hi

While testing the proposed 1.0.3 version I got the following exception 
while running repair:  (StackOverflowError)


http://pastebin.com/raw.php?i=35Rt7ryB

The affected column family is denfined like this:
create column family FileStore
  with comparator=UTF8Type and key_validation_class = 'UTF8Type'
  and column_metadata=[{column_name: namespace, validation_class: 
UTF8Type, index_type: KEYS},
   {column_name: version, validation_class: 
IntegerType},
   {column_name: chunk_size, validation_class: 
IntegerType},
   {column_name: num_chunks, validation_class: 
IntegerType},

   {column_name: size, validation_class: LongType}];

Is this a known issue?

/ Jonas


Re: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Brandon Williams
On Mon, Nov 14, 2011 at 8:06 AM, Michael Vaknine micha...@citypath.com wrote:
 Well,
 I tried to delete the hints on the failed cluster but I could not start it
 I got other errors such as

 ERROR [MutationStage:34] 2011-11-14 15:37:43,813
 AbstractCassandraDaemon.java (line 133) Fatal exception in thread
 Thread[MutationStage:34,5,main]
 java.lang.StackOverflowError
        at
 java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceField
 UpdaterImpl.updateCheck(AtomicReferenceFieldUpdater.java:216)

This is different an unrelated to hints.  What jvm are you using?  It
looks like it just simply ran out of stack space, which is odd, but
you can control that with the -Xss option if needed.

-Brandon


Re: Off-heap caching through ByteBuffer.allocateDirect when JNA not available ?

2011-11-14 Thread Jonathan Ellis
Additionally, you have the barely-documented but nasty behavior of
Hotspot forcing full GCs when allocateDirect reaches
-XX:MaxDirectMemorySize.

On Sun, Nov 13, 2011 at 2:09 PM, Peter Schuller
peter.schul...@infidyne.com wrote:
 I would like to know it also - actually is should be similar, plus there are
 no dependencies to sun.misc packages.

 I don't remember the discussion, but I assume the reason is that
 allocateDirect() is not freeable except by waiting for soft ref
 counting. This is enforced by the API in order to enable safe use of
 allocated memory without it being possible to use to break out of the
 JVM sandbox.

 JNA or misc.unsafe allows explicit freeing (at the cost of application
 bugs maybe segfaulting the JVM or causing other side-effects; i.e.,
 breaking out of the managed runtime sandbox).

 --
 / Peter Schuller (@scode, http://worldmodscode.wordpress.com)




-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com


Cassandra as a LinkedIn Skill

2011-11-14 Thread Jake Luciani
Hi,

Sorry for the intrusion.

I was speaking to some of the LinkedIn engineers at ApacheCon last week
about to see how to get
Cassandra into the linkedin skills page [1].

They claim if more people add Cassandra as a skill in their profile then it
will show up.  So my request
is if you use Cassandra please add it as a skill on your linked in profile.
Here is mine as an example [2].

Thanks,

-Jake

[1] http://www.linkedin.com/skills
[2] http://www.linkedin.com/in/tjake


-- 
http://twitter.com/tjake


BulkLoader

2011-11-14 Thread Giannis Neokleous
Hello everyone,

We're using the bulk loader to load data every day to Cassandra. The
machines that use the bulkloader are diferent every day so their IP
addresses change. When I do describe cluster i see all the unreachable
nodes that keep piling up for the past few days. Is there a way to remove
those IP addresses without terminating the whole cluster at the same time
and restarting it?

The unreachable nodes cause issues when we want to make schema changes to
all the nodes or when we want to truncate a CF.

Any suggestions?

-Giannis


Re: Mass deletion -- slowing down

2011-11-14 Thread Maxim Potekhin
Thanks for the note. Ideally I would not like to keep track of what is 
the oldest indexed date,
because this means that I'm already creating a bit of infrastructure on 
top of my database,

with attendant referential integrity problems.

But I suppose I'll be forced to do that. In addition, I'll have to wait 
until the grace period is over and compact,
removing the tombstones and finally clearing the disk (which is what I 
need to do in the first place).


Frankly, this whole situation for me illustrates a very real deficiency 
in Cassandra -- one would think that
deleting less than one percent of data shouldn't really lead to complete 
failures in certain indexed queries.

That's bad.

Maxim



On 11/14/2011 3:01 AM, Guy Incognito wrote:
i think what he means is...do you know what day the 'oldest' day is?  
eg if you have a rolling window of say 2 weeks, structure your query 
so that your slice range only goes back 2 weeks, rather than to the 
beginning of time.  this would avoid iterating over all the tombstones 
from prior to the 2 week window.  this wouldn't work if you are 
deleting arbitrary days in the middle of your date range.


On 14/11/2011 02:02, Maxim Potekhin wrote:

Thanks Peter,

I'm not sure I entirely follow. By the oldest data, do you mean the
primary key corresponding to the limit of the time horizon? 
Unfortunately,
unique IDs and the timstamps do not correlate in the sense that 
chronologically
newer entries might have a smaller sequential ID. That's because 
the timestamp
corresponds to the last update that's stochastic in the sense that 
the jobs can take
from seconds to days to complete. As I said I'm not sure I understood 
you

correctly.

Also, I note that queries on different dates (i.e. not contaminated 
with lots

of tombstones) work just fine, which is consistent with the picture that
emerged so far.

Theoretically -- would compaction or cleanup help?

Thanks

Maxim




On 11/13/2011 8:39 PM, Peter Schuller wrote:
I do limit the number of rows I'm asking for in Pycassa. Queries on 
primary

keys still work fine,

Is it feasable in your situation to keep track of the oldest possible
data (for example, if there is a single sequential writer that rotates
old entries away it could keep a record of what the oldest might be)
so that you can bound your index lookup= that value (and avoid the
tombstones)?







RE: BulkLoader

2011-11-14 Thread mike.li
Hello Giannis,

Can you share a little bit on how to use the bulk loader ?  We're considering 
use  bulk loader for a  user case.

Thanks,
Mike

From: Giannis Neokleous [mailto:gian...@generalsentiment.com]
Sent: Monday, November 14, 2011 2:50 PM
To: user@cassandra.apache.org
Subject: BulkLoader

Hello everyone,

We're using the bulk loader to load data every day to Cassandra. The machines 
that use the bulkloader are diferent every day so their IP addresses change. 
When I do describe cluster i see all the unreachable nodes that keep piling 
up for the past few days. Is there a way to remove those IP addresses without 
terminating the whole cluster at the same time and restarting it?

The unreachable nodes cause issues when we want to make schema changes to all 
the nodes or when we want to truncate a CF.

Any suggestions?

-Giannis

This email was sent to you by Thomson Reuters, the global news and information 
company. Any views expressed in this message are those of the individual 
sender, except where the sender specifically states them to be the views of 
Thomson Reuters.

describe cluster error

2011-11-14 Thread Silviu Matei
Hi
I'm getting this error when I try to run describe cluster:
[] describe cluster;
Cluster Information:
   Snitch: org.apache.cassandra.locator.SimpleSnitch
   Partitioner: org.apache.cassandra.dht.RandomPartitioner
   Schema versions:
Error retrieving data: Internal error processing describe_schema_versions

with this in the logs:
ERROR [pool-2-thread-3] 2011-11-14 21:40:51,975 Cassandra.java (line 3540)
Internal error processing describe_schema_versions
java.lang.NoSuchMethodError:
org.apache.commons.lang.StringUtils.join(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
at
org.apache.cassandra.service.StorageProxy.describeSchemaVersions(StorageProxy.java:959)
at
org.apache.cassandra.thrift.CassandraServer.describe_schema_versions(CassandraServer.java:1151)
at
org.apache.cassandra.thrift.Cassandra$Processor$describe_schema_versions.process(Cassandra.java:3536)
at
org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)


Anyone have any insight? It's a 3node 1.0.2 cluster, recently upgraded from
.87.
Thank you


word count example using it's own job tracker, not the one I setup

2011-11-14 Thread Dean Hiller
I am trying to run the word count example and looking at the source, I
don't see where it knows which job tracker to connect to.

1. Would I be correct in guessing that I have to run hadoop jar ?
(just wondering why I don't see a port/hostname for job tracker in the
WordCount.java file)

This then brings up a second question if I am right about that which is

2. What is the best way to distribute the core thrift jars to tasktrackers?
   a. Put it in the tasktracker lib or something
   b. have it shipped with the job(makes it easier to vary the thrift or
hector client I guess)

thanks for any input on this,
Dean


Re: Second Cassandra users survey

2011-11-14 Thread Chris Burroughs
 - It would be super cool if all of that counter work made it possible
to support other atomic data types (sets? CAS?  just pass a assoc/commun
Function to apply).
 - Again with types, pluggable type specific compression.
 - Wishy washy wish: Simpler elasticity  I would like to go from
6--8--7 nodes without each of those being an annoying fight with tokens.
 - Gossip as library.  Gossip/failure detection is something C* seems to
have gotten particularly right (or at least it's something that has not
needed to change much).  It would be cool to use Cassandra's gossip
protocol as distributed systems building tool a la ZooKeeper.

On 11/01/2011 06:59 PM, Jonathan Ellis wrote:
 Hi all,
 
 Two years ago I asked for Cassandra use cases and feature requests.
 [1]  The results [2] have been extremely useful in setting and
 prioritizing goals for Cassandra development.  But with the release of
 1.0 we've accomplished basically everything from our original wish
 list. [3]
 
 I'd love to hear from modern Cassandra users again, especially if
 you're usually a quiet lurker.  What does Cassandra do well?  What are
 your pain points?  What's your feature wish list?
 
 As before, if you're in stealth mode or don't want to say anything in
 public, feel free to reply to me privately and I will keep it off the
 record.
 
 [1] 
 http://www.mail-archive.com/cassandra-dev@incubator.apache.org/msg01148.html
 [2] 
 http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg01446.html
 [3] http://www.mail-archive.com/dev@cassandra.apache.org/msg01524.html
 



Re: Second Cassandra users survey

2011-11-14 Thread Jake Luciani
Re  Simpler elasticity:

Latest opscenter will now rebalance cluster optimally
http://www.datastax.com/dev/blog/whats-new-in-opscenter-1-3

/plug

-Jake

On Mon, Nov 14, 2011 at 7:27 PM, Chris Burroughs
chris.burrou...@gmail.comwrote:

  - It would be super cool if all of that counter work made it possible
 to support other atomic data types (sets? CAS?  just pass a assoc/commun
 Function to apply).
  - Again with types, pluggable type specific compression.
  - Wishy washy wish: Simpler elasticity  I would like to go from
 6--8--7 nodes without each of those being an annoying fight with tokens.
  - Gossip as library.  Gossip/failure detection is something C* seems to
 have gotten particularly right (or at least it's something that has not
 needed to change much).  It would be cool to use Cassandra's gossip
 protocol as distributed systems building tool a la ZooKeeper.

 On 11/01/2011 06:59 PM, Jonathan Ellis wrote:
  Hi all,
 
  Two years ago I asked for Cassandra use cases and feature requests.
  [1]  The results [2] have been extremely useful in setting and
  prioritizing goals for Cassandra development.  But with the release of
  1.0 we've accomplished basically everything from our original wish
  list. [3]
 
  I'd love to hear from modern Cassandra users again, especially if
  you're usually a quiet lurker.  What does Cassandra do well?  What are
  your pain points?  What's your feature wish list?
 
  As before, if you're in stealth mode or don't want to say anything in
  public, feel free to reply to me privately and I will keep it off the
  record.
 
  [1]
 http://www.mail-archive.com/cassandra-dev@incubator.apache.org/msg01148.html
  [2]
 http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg01446.html
  [3] http://www.mail-archive.com/dev@cassandra.apache.org/msg01524.html
 




-- 
http://twitter.com/tjake


Re: Second Cassandra users survey

2011-11-14 Thread Mohit Anchlia
On Mon, Nov 14, 2011 at 4:44 PM, Jake Luciani jak...@gmail.com wrote:
 Re  Simpler elasticity:
 Latest opscenter will now rebalance cluster optimally
 http://www.datastax.com/dev/blog/whats-new-in-opscenter-1-3
 /plug

Does it cause any impact on reads and writes while re-balance is in
progress? How is it handled on live cluster?

 -Jake

 On Mon, Nov 14, 2011 at 7:27 PM, Chris Burroughs chris.burrou...@gmail.com
 wrote:

  - It would be super cool if all of that counter work made it possible
 to support other atomic data types (sets? CAS?  just pass a assoc/commun
 Function to apply).
  - Again with types, pluggable type specific compression.
  - Wishy washy wish: Simpler elasticity  I would like to go from
 6--8--7 nodes without each of those being an annoying fight with tokens.
  - Gossip as library.  Gossip/failure detection is something C* seems to
 have gotten particularly right (or at least it's something that has not
 needed to change much).  It would be cool to use Cassandra's gossip
 protocol as distributed systems building tool a la ZooKeeper.

 On 11/01/2011 06:59 PM, Jonathan Ellis wrote:
  Hi all,
 
  Two years ago I asked for Cassandra use cases and feature requests.
  [1]  The results [2] have been extremely useful in setting and
  prioritizing goals for Cassandra development.  But with the release of
  1.0 we've accomplished basically everything from our original wish
  list. [3]
 
  I'd love to hear from modern Cassandra users again, especially if
  you're usually a quiet lurker.  What does Cassandra do well?  What are
  your pain points?  What's your feature wish list?
 
  As before, if you're in stealth mode or don't want to say anything in
  public, feel free to reply to me privately and I will keep it off the
  record.
 
  [1]
  http://www.mail-archive.com/cassandra-dev@incubator.apache.org/msg01148.html
  [2]
  http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg01446.html
  [3] http://www.mail-archive.com/dev@cassandra.apache.org/msg01524.html
 




 --
 http://twitter.com/tjake



Re: Second Cassandra users survey

2011-11-14 Thread Dean Hiller
+1 on coprocessors

On Mon, Nov 14, 2011 at 6:51 PM, Mohit Anchlia mohitanch...@gmail.comwrote:

 On Mon, Nov 14, 2011 at 4:44 PM, Jake Luciani jak...@gmail.com wrote:
  Re  Simpler elasticity:
  Latest opscenter will now rebalance cluster optimally
  http://www.datastax.com/dev/blog/whats-new-in-opscenter-1-3
  /plug

 Does it cause any impact on reads and writes while re-balance is in
 progress? How is it handled on live cluster?

  -Jake
 
  On Mon, Nov 14, 2011 at 7:27 PM, Chris Burroughs 
 chris.burrou...@gmail.com
  wrote:
 
   - It would be super cool if all of that counter work made it possible
  to support other atomic data types (sets? CAS?  just pass a assoc/commun
  Function to apply).
   - Again with types, pluggable type specific compression.
   - Wishy washy wish: Simpler elasticity  I would like to go from
  6--8--7 nodes without each of those being an annoying fight with
 tokens.
   - Gossip as library.  Gossip/failure detection is something C* seems to
  have gotten particularly right (or at least it's something that has not
  needed to change much).  It would be cool to use Cassandra's gossip
  protocol as distributed systems building tool a la ZooKeeper.
 
  On 11/01/2011 06:59 PM, Jonathan Ellis wrote:
   Hi all,
  
   Two years ago I asked for Cassandra use cases and feature requests.
   [1]  The results [2] have been extremely useful in setting and
   prioritizing goals for Cassandra development.  But with the release of
   1.0 we've accomplished basically everything from our original wish
   list. [3]
  
   I'd love to hear from modern Cassandra users again, especially if
   you're usually a quiet lurker.  What does Cassandra do well?  What are
   your pain points?  What's your feature wish list?
  
   As before, if you're in stealth mode or don't want to say anything in
   public, feel free to reply to me privately and I will keep it off the
   record.
  
   [1]
  
 http://www.mail-archive.com/cassandra-dev@incubator.apache.org/msg01148.html
   [2]
  
 http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg01446.html
   [3]
 http://www.mail-archive.com/dev@cassandra.apache.org/msg01524.html
  
 
 
 
 
  --
  http://twitter.com/tjake
 



wordcount example exception that I think should not occur

2011-11-14 Thread Dean Hiller
There are 4 jobs submitted by the wordcount cassandra example and the first
one fails and the other 3 all pass and work with results.

The first job I noticed is looking for column name text0 due to i being 0
in the loop.  The exception is not going through the wordcount code at all
though, but this text0 column does not exist in the cassandra database(is
this an InputFormat bug in the cassandra code to wire in the map/reduce
stuff or is there a way to fix this???)

The exception...

2011-11-14 18:16:26,540 INFO org.apache.hadoop.mapred.TaskInProgress: Error
from attempt_20141812_0002_m_00_1:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at
org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:300)
at
org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:183)
at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
at
org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:139)
at
org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:423)
at
org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
at org.apache.hadoop.mapred.Child.main(Child.java:170)

thanks,
Dean


This seems to fix it.....wordcount example exception that I think should not occur

2011-11-14 Thread Dean Hiller
Well, by edting
src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java

in version 1.0.2 cassandra src just before the

totalRead++;
KeySlice ks = rows.get(i++);
SortedMapByteBuffer, IColumn map = new TreeMapByteBuffer,
IColumn(comparator);

I added the code

if(i = rows.size())
return endOfData();

That seems to fix it AND this is only needed by the jobtracker so you don't
need to redeploy cassandra for the fix which is niceit seems to work
now with rows that don't contain that column.  If anyone thinks this will
have bad side affects, please let me know.

later,
Dean  http://blog.alvazan.com



On Mon, Nov 14, 2011 at 7:01 PM, Dean Hiller d...@alvazan.com wrote:

 There are 4 jobs submitted by the wordcount cassandra example and the
 first one fails and the other 3 all pass and work with results.

 The first job I noticed is looking for column name text0 due to i being 0
 in the loop.  The exception is not going through the wordcount code at all
 though, but this text0 column does not exist in the cassandra database(is
 this an InputFormat bug in the cassandra code to wire in the map/reduce
 stuff or is there a way to fix this???)

 The exception...

 2011-11-14 18:16:26,540 INFO org.apache.hadoop.mapred.TaskInProgress:
 Error from attempt_20141812_0002_m_00_1:
 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 at java.util.ArrayList.RangeCheck(ArrayList.java:547)
 at java.util.ArrayList.get(ArrayList.java:322)
 at
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:300)
 at
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:183)
 at
 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
 at
 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
 at
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:139)
 at
 org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:423)
 at
 org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
 at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
 at org.apache.hadoop.mapred.Child.main(Child.java:170)

 thanks,
 Dean



Re: Second Cassandra users survey

2011-11-14 Thread Dean Hiller
oh yeah, one more BIG one.in memory writes with asynch write-behind to
disk like cassandra does for speed.

So if you have atomic locking, it writes to the primary node(memory) and
some other node(memory) and returns with success to the client.  asynch
then writes to disk later.  This prove to be very fast and 2 machines make
it pretty reliable and of course it is asynchronously writing to that third
or fourth machine depending on replication factor.

later,
Dean

On Mon, Nov 14, 2011 at 6:59 PM, Dean Hiller d...@alvazan.com wrote:

 +1 on coprocessors


 On Mon, Nov 14, 2011 at 6:51 PM, Mohit Anchlia mohitanch...@gmail.comwrote:

 On Mon, Nov 14, 2011 at 4:44 PM, Jake Luciani jak...@gmail.com wrote:
  Re  Simpler elasticity:
  Latest opscenter will now rebalance cluster optimally
  http://www.datastax.com/dev/blog/whats-new-in-opscenter-1-3
  /plug

 Does it cause any impact on reads and writes while re-balance is in
 progress? How is it handled on live cluster?

  -Jake
 
  On Mon, Nov 14, 2011 at 7:27 PM, Chris Burroughs 
 chris.burrou...@gmail.com
  wrote:
 
   - It would be super cool if all of that counter work made it possible
  to support other atomic data types (sets? CAS?  just pass a
 assoc/commun
  Function to apply).
   - Again with types, pluggable type specific compression.
   - Wishy washy wish: Simpler elasticity  I would like to go from
  6--8--7 nodes without each of those being an annoying fight with
 tokens.
   - Gossip as library.  Gossip/failure detection is something C* seems
 to
  have gotten particularly right (or at least it's something that has not
  needed to change much).  It would be cool to use Cassandra's gossip
  protocol as distributed systems building tool a la ZooKeeper.
 
  On 11/01/2011 06:59 PM, Jonathan Ellis wrote:
   Hi all,
  
   Two years ago I asked for Cassandra use cases and feature requests.
   [1]  The results [2] have been extremely useful in setting and
   prioritizing goals for Cassandra development.  But with the release
 of
   1.0 we've accomplished basically everything from our original wish
   list. [3]
  
   I'd love to hear from modern Cassandra users again, especially if
   you're usually a quiet lurker.  What does Cassandra do well?  What
 are
   your pain points?  What's your feature wish list?
  
   As before, if you're in stealth mode or don't want to say anything in
   public, feel free to reply to me privately and I will keep it off the
   record.
  
   [1]
  
 http://www.mail-archive.com/cassandra-dev@incubator.apache.org/msg01148.html
   [2]
  
 http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg01446.html
   [3]
 http://www.mail-archive.com/dev@cassandra.apache.org/msg01524.html
  
 
 
 
 
  --
  http://twitter.com/tjake
 





Re: Second Cassandra users survey

2011-11-14 Thread Edward Ribeiro
+1 on co-processors.


Edward


Re: BulkLoader

2011-11-14 Thread ehers...@gmail.com
Giannis,

From here:
http://wiki.apache.org/cassandra/Operations#Removing_nodes_entirely

Have you tried nodetool removetoken ?

Ernie


On Mon, Nov 14, 2011 at 4:20 PM, mike...@thomsonreuters.com wrote:

 Hello Giannis,

 ** **

 Can you share a little bit on how to use the bulk loader ?  We’re
 considering use  bulk loader for a  user case. 

 ** **

 Thanks,

 Mike 

 ** **

 *From:* Giannis Neokleous [mailto:gian...@generalsentiment.com]
 *Sent:* Monday, November 14, 2011 2:50 PM
 *To:* user@cassandra.apache.org
 *Subject:* BulkLoader

 ** **

 Hello everyone,

 We're using the bulk loader to load data every day to Cassandra. The
 machines that use the bulkloader are diferent every day so their IP
 addresses change. When I do describe cluster i see all the unreachable
 nodes that keep piling up for the past few days. Is there a way to remove
 those IP addresses without terminating the whole cluster at the same time
 and restarting it?

 The unreachable nodes cause issues when we want to make schema changes to
 all the nodes or when we want to truncate a CF.

 Any suggestions?

 -Giannis

 This email was sent to you by Thomson Reuters, the global news and
 information company. Any views expressed in this message are those of the
 individual sender, except where the sender specifically states them to be
 the views of Thomson Reuters.


Re: describe cluster error

2011-11-14 Thread Nate McCall
Can you describe how you did the upgrade on these machines? You may
still have some old jars on the classpath.

On Mon, Nov 14, 2011 at 4:03 PM, Silviu Matei silvma...@gmail.com wrote:
 Hi
 I'm getting this error when I try to run describe cluster:
 [] describe cluster;
 Cluster Information:
    Snitch: org.apache.cassandra.locator.SimpleSnitch
    Partitioner: org.apache.cassandra.dht.RandomPartitioner
    Schema versions:
 Error retrieving data: Internal error processing describe_schema_versions

 with this in the logs:
 ERROR [pool-2-thread-3] 2011-11-14 21:40:51,975 Cassandra.java (line 3540)
 Internal error processing describe_schema_versions
 java.lang.NoSuchMethodError:
 org.apache.commons.lang.StringUtils.join(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
     at
 org.apache.cassandra.service.StorageProxy.describeSchemaVersions(StorageProxy.java:959)
     at
 org.apache.cassandra.thrift.CassandraServer.describe_schema_versions(CassandraServer.java:1151)
     at
 org.apache.cassandra.thrift.Cassandra$Processor$describe_schema_versions.process(Cassandra.java:3536)
     at
 org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
     at
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
 Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
 Source)
     at java.lang.Thread.run(Unknown Source)


 Anyone have any insight? It's a 3node 1.0.2 cluster, recently upgraded from
 .87.
 Thank you




RE: Upgrade Cassandra Cluster to 1.0.2

2011-11-14 Thread Michael Vaknine
I am running java version:
java version 1.6.0_20
OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1~10.04.1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

I have tried to run with -Xss96k or -Xss256k or -Xss320 but it still give me
the error

TheNode has 8GB memory and %GB allocated to JAVA

ERROR [MutationStage:104] 2011-11-15 08:55:59,408
AbstractCassandraDaemon.java (line 133) Fatal exception in thread
Thread[MutationStage:104,5,main]
java.lang.StackOverflowError
at
org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:209)
at
org.apache.cassandra.db.CollationController.collectTimeOrderedData(Collation
Controller.java:74)
at
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationCont
roller.java:62)
at
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilySto
re.java:1278)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1164)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1126)
at
org.apache.cassandra.db.Table.readCurrentIndexedColumns(Table.java:507)
at org.apache.cassandra.db.Table.apply(Table.java:444)
at
org.apache.cassandra.db.RowMutation.applyUnsafe(RowMutation.java:260)
at
org.apache.cassandra.db.CollationController.collectTimeOrderedData(Collation
Controller.java:159)
at
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationCont
roller.java:62)
at
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilySto
re.java:1278)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1164)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1126)
at
org.apache.cassandra.db.Table.readCurrentIndexedColumns(Table.java:507)
at org.apache.cassandra.db.Table.apply(Table.java:444)
at
org.apache.cassandra.db.RowMutation.applyUnsafe(RowMutation.java:260)
at
org.apache.cassandra.db.CollationController.collectTimeOrderedData(Collation
Controller.java:159)
at
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationCont
roller.java:62)
at
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilySto
re.java:1278)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1164)
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.
java:1126)
at
org.apache.cassandra.db.Table.readCurrentIndexedColumns(Table.java:507)
at org.apache.cassandra.db.Table.apply(Table.java:444)

I ma getting WARN as well after changing JAVA

WARN [MutationStage:44] 2011-11-15 08:51:57,479 Memtable.java (line 142)
MemoryMeter uninitialized (jamm not specified as java agent); assuming
liveRatio of 10.0.  Usually this means cassandra-env.sh disabled jamm
because you are using a buggy JRE; upgrade to the Sun JRE instead

-Original Message-
From: Brandon Williams [mailto:dri...@gmail.com] 
Sent: Monday, November 14, 2011 7:53 PM
To: user@cassandra.apache.org
Cc: cassandra-u...@incubator.apache.org
Subject: Re: Upgrade Cassandra Cluster to 1.0.2

On Mon, Nov 14, 2011 at 8:06 AM, Michael Vaknine micha...@citypath.com
wrote:
 Well,
 I tried to delete the hints on the failed cluster but I could not start it
 I got other errors such as

 ERROR [MutationStage:34] 2011-11-14 15:37:43,813
 AbstractCassandraDaemon.java (line 133) Fatal exception in thread
 Thread[MutationStage:34,5,main]
 java.lang.StackOverflowError
        at

java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceField
 UpdaterImpl.updateCheck(AtomicReferenceFieldUpdater.java:216)

This is different an unrelated to hints.  What jvm are you using?  It
looks like it just simply ran out of stack space, which is odd, but
you can control that with the -Xss option if needed.

-Brandon



Re: questions on frequency and timing of async replication between DCs

2011-11-14 Thread Radim Kolar



It may be the case that your CL is the issue. You are writing it at
ONE, which means that out of the 4 replicas of that key (two in each
data center), you are only putting it on one of them.
cassandra will always try to replicate key to all available replicas. 
Under normal conditions if you do write + wait about 1 sec + then read 
at CL.ONE you should get back correct value. Consistency in cassandra is 
not problem in real world, its way better then SQL databases with async 
replication. Make sure you have your clients clock synced via NTP,