DunDDD NoSQL and Big Data

2012-09-24 Thread Andy Cobley
Hi All, 

I'm organising the NoSQL and Big Data track at Developer Day Dundee:

http://dun.dddscotland.co.uk/

This is free mini conference at Dundee University, Dundee Scotland.  For the
past 2 years we've had a track on NoSQL and had some great speakers.
However I don't believe we've had anyone from the Cassandra community join
us and give a talk.If your interested, drop me a line and let me know
what your proposing.

I should  point out, as this is a free conference, we can't pay speakers and
unless we get a big sponsor, it's doubtful we can manage much in the way of
expenses !

Andy Cobley
Program director, MSc Business Intelligence and Data Science
School of Computing
University of Dundee
http://www.computing.dundee.ac.uk/


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Cassandra vs Couchbase benchmarks

2012-10-01 Thread Andy Cobley
There are some interesting results in the benchmarks below:

http://www.slideshare.net/renatko/couchbase-performance-benchmarking

Without starting a flame war etc, I'm interested if these results should
be considered "Fair and Balanced" or if the methodology is flawed in some
way ? (for instance is the use of Amazon EC2 sensible for Cassandra
deployment) ?

Andy



The University of Dundee is a Scottish Registered Charity, No. SC015096.




JDBC, Pools and clusters ?

2012-12-09 Thread Andy Cobley
I'm starting to move to JBC for Cassandra (away from Hector).In his strange 
loop 2012 anti-pattern presentation, Mathew Dennis writes:

"Sometimes people try to restrict clients to a single node. This actually takes 
work, and causes problems. Don’t do it."

Now, I note that the JDBC pooled connection class takes a single  node as an 
argument creating  a pool of connections to that node.   So, Whats the best way 
of handling this in a (web) application ?  Should I create multiple pools to 
each of the nodes in the cluster or is there a better best practice.

BTW
Is there an equivalent  to Hector's getKnownPoolHosts for JDBC ?

Many Thanks

Andy C


The University of Dundee is a Scottish Registered Charity, No. SC015096.




CQL3 jdbc and Tomcat resource

2013-01-28 Thread Andy Cobley
I tried to add a CQL3  jdbc resource to tomcat 7 in a context.xml file (in a 
Eclipse project)  as follows:



JDBC driver is cassandra-jdbc-1.1.2.  When Tomcat (7.035) restarts it throws a 
series of errors. Is this known, or expected ?  Removing the resource from 
contact.xml allows the server to start correctly.

Andy

Errors are:

Jan 28, 2013 11:26:27 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal 
performance in production environments was not found on the java.library.path: 
.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
property 'source' to 'org.eclipse.jst.jee.server:Count' did not find a matching 
property.
Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
property 'source' to 'org.eclipse.jst.jee.server:mysqlexample' did not find a 
matching property.
Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
property 'source' to 'org.eclipse.jst.jee.server:testwebservlet' did not find a 
matching property.
Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
property 'source' to 'org.eclipse.jst.jee.server:Convert' did not find a 
matching property.
Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
property 'source' to 'org.eclipse.jst.jee.server:Math' did not find a matching 
property.
Jan 28, 2013 11:26:27 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 28, 2013 11:26:27 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 28, 2013 11:26:27 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 897 ms
Jan 28, 2013 11:26:27 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 28, 2013 11:26:27 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.35
Jan 28, 2013 11:26:28 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: 
org.apache.catalina.LifecycleException: Failed to start component 
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mysqlexample]]
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at 
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.catalina.LifecycleException: Failed to start component 
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mysqlexample]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at 
org.apache.cassandra.cql.jdbc.CassandraDriver.(CassandraDriver.java:52)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at 
org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:246)
at 
org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
at 
org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)
at 
org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)
at 
org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)
at 
org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:144)
at 
org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
at 
org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.j

Re: CQL3 jdbc and Tomcat resource

2013-01-28 Thread Andy Cobley
Apologies,

I was missing  a few cassandra jar libs in the tomcat library.

Andy

On 28 Jan 2013, at 11:31, Andy Cobley  wrote:

> I tried to add a CQL3  jdbc resource to tomcat 7 in a context.xml file (in a 
> Eclipse project)  as follows:
> 
>  name="jdbc/CF1"
> factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
> driverClassName="org.apache.cassandra.cql.jdbc.CassandraDriver"
> url="jdbc:cassandra://localhost:9170/Keyspace2"
>
> />
> 
> JDBC driver is cassandra-jdbc-1.1.2.  When Tomcat (7.035) restarts it throws 
> a series of errors. Is this known, or expected ?  Removing the resource from 
> contact.xml allows the server to start correctly.
> 
> Andy
> 
> Errors are:
> 
> Jan 28, 2013 11:26:27 AM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal 
> performance in production environments was not found on the 
> java.library.path: 
> .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
> Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule 
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
> property 'source' to 'org.eclipse.jst.jee.server:Count' did not find a 
> matching property.
> Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule 
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
> property 'source' to 'org.eclipse.jst.jee.server:mysqlexample' did not find a 
> matching property.
> Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule 
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
> property 'source' to 'org.eclipse.jst.jee.server:testwebservlet' did not find 
> a matching property.
> Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule 
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
> property 'source' to 'org.eclipse.jst.jee.server:Convert' did not find a 
> matching property.
> Jan 28, 2013 11:26:27 AM org.apache.tomcat.util.digester.SetPropertiesRule 
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting 
> property 'source' to 'org.eclipse.jst.jee.server:Math' did not find a 
> matching property.
> Jan 28, 2013 11:26:27 AM org.apache.coyote.AbstractProtocol init
> INFO: Initializing ProtocolHandler ["http-bio-8080"]
> Jan 28, 2013 11:26:27 AM org.apache.coyote.AbstractProtocol init
> INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
> Jan 28, 2013 11:26:27 AM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 897 ms
> Jan 28, 2013 11:26:27 AM org.apache.catalina.core.StandardService 
> startInternal
> INFO: Starting service Catalina
> Jan 28, 2013 11:26:27 AM org.apache.catalina.core.StandardEngine startInternal
> INFO: Starting Servlet Engine: Apache Tomcat/7.0.35
> Jan 28, 2013 11:26:28 AM org.apache.catalina.core.ContainerBase startInternal
> SEVERE: A child container failed during start
> java.util.concurrent.ExecutionException: 
> org.apache.catalina.LifecycleException: Failed to start component 
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mysqlexample]]
>   at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
>   at java.util.concurrent.FutureTask.get(FutureTask.java:83)
>   at 
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
>   at 
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
>   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>   at 
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
>   at 
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
>   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:680)
> Caused by: org.apache.catalina.LifecycleException: Failed to start component 
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mysqlexample]]
>   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>   ... 7 more
> Caused by: java.lang.NoClass

JDBC, Select * Cql2 vs Cql3 problem ?

2013-01-28 Thread Andy Cobley
I have the following code in my app using the JDBC (cassandra-jdbc-1.1.2.jar) 
drivers to CQL:

try {
rs= stmt.executeQuery("SELECT * FROM users");
}catch(Exception et){
System.out.println("Can not execute statement "+et);
}

When connecting to a CQL2 server (cassandra 1.1.5) the code works as expected 
returning a result set .  When connecting to CQL3 (Cassandra 1.2) I catch the 
following exception:

Can not execute statement java.lang.NullPointerException

The Select statement (Select * from users) does work from CQLSH as expected.  
Is there a problem with my code or something else ?

Andy C
School of Computing
University of Dundee.




The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: JDBC, Select * Cql2 vs Cql3 problem ?

2013-01-29 Thread Andy Cobley
When connecting to Cassandra 1.2.0 from CQLSH the table was created with:

CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor' : 1};
cqlsh> use test;
cqlsh:test> create columnfamily users (KEY varchar Primary key, password 
varchar, gender varchar) ;
cqlsh:test> INSERT INTO users (KEY, password) VALUES ('jsmith', 'ch@ngem3a');
cqlsh:test> INSERT INTO users (KEY, gender) VALUES ('jbrown', 'male');

stack trace (generated et.printStackTrace()) is:

Can not execute statement java.lang.NullPointerException
at org.apache.cassandra.cql.jdbc.TypedColumn.(TypedColumn.java:45)
at 
org.apache.cassandra.cql.jdbc.CassandraResultSet.createColumn(CassandraResultSet.java:972)
at 
org.apache.cassandra.cql.jdbc.CassandraResultSet.populateColumns(CassandraResultSet.java:156)
at 
org.apache.cassandra.cql.jdbc.CassandraResultSet.(CassandraResultSet.java:130)
at 
org.apache.cassandra.cql.jdbc.CassandraStatement.doExecute(CassandraStatement.java:167)
at 
org.apache.cassandra.cql.jdbc.CassandraStatement.executeQuery(CassandraStatement.java:227)
at uk.ac.dundee.computing.aec.test.test.doGet(test.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

Hope that helps !

Andy


On 29 Jan 2013, at 07:17, aaron morton  wrote:

> What is your table spec ? 
> Do you have the full stack trace from the exception ? 
> 
> Cheers
> 
> -
> Aaron Morton
> Freelance Cassandra Developer
> New Zealand
> 
> @aaronmorton
> http://www.thelastpickle.com
> 
> On 29/01/2013, at 8:15 AM, Andy Cobley  wrote:
> 
>> I have the following code in my app using the JDBC 
>> (cassandra-jdbc-1.1.2.jar) drivers to CQL:
>> 
>> try {
>>  rs= stmt.executeQuery("SELECT * FROM users");
>> }catch(Exception et){
>>  System.out.println("Can not execute statement "+et);
>> }
>> 
>> When connecting to a CQL2 server (cassandra 1.1.5) the code works as 
>> expected returning a result set .  When connecting to CQL3 (Cassandra 1.2) I 
>> catch the following exception:
>> 
>> Can not execute statement java.lang.NullPointerException
>> 
>> The Select statement (Select * from users) does work from CQLSH as expected. 
>>  Is there a problem with my code or something else ?
>> 
>> Andy C
>> School of Computing
>> University of Dundee.
>> 
>> 
>> 
>> The University of Dundee is a Scottish Registered Charity, No. SC015096.
> 


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: JDBC, Select * Cql2 vs Cql3 problem ?

2013-01-30 Thread Andy Cobley
Well this is getting stranger,   for me  with this simple table definition, 

select key,gender from users

is also failing with a null pointer exception

Andy

On 29 Jan 2013, at 13:50, Andy Cobley  wrote:

> When connecting to Cassandra 1.2.0 from CQLSH the table was created with:
> 
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor' : 1};
> cqlsh> use test;
> cqlsh:test> create columnfamily users (KEY varchar Primary key, password 
> varchar, gender varchar) ;
> cqlsh:test> INSERT INTO users (KEY, password) VALUES ('jsmith', 'ch@ngem3a');
> cqlsh:test> INSERT INTO users (KEY, gender) VALUES ('jbrown', 'male');
> 
> stack trace (generated et.printStackTrace()) is:
> 
> Can not execute statement java.lang.NullPointerException
>   at org.apache.cassandra.cql.jdbc.TypedColumn.(TypedColumn.java:45)
>   at 
> org.apache.cassandra.cql.jdbc.CassandraResultSet.createColumn(CassandraResultSet.java:972)
>   at 
> org.apache.cassandra.cql.jdbc.CassandraResultSet.populateColumns(CassandraResultSet.java:156)
>   at 
> org.apache.cassandra.cql.jdbc.CassandraResultSet.(CassandraResultSet.java:130)
>   at 
> org.apache.cassandra.cql.jdbc.CassandraStatement.doExecute(CassandraStatement.java:167)
>   at 
> org.apache.cassandra.cql.jdbc.CassandraStatement.executeQuery(CassandraStatement.java:227)
>   at uk.ac.dundee.computing.aec.test.test.doGet(test.java:51)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>   at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>   at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>   at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>   at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>   at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>   at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>   at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>   at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>   at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>   at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>   at 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>   at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>   at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:680)
> 
> Hope that helps !
> 
> Andy
> 
> 
> On 29 Jan 2013, at 07:17, aaron morton  wrote:
> 
>> What is your table spec ? 
>> Do you have the full stack trace from the exception ? 
>> 
>> Cheers
>> 
>> -
>> Aaron Morton
>> Freelance Cassandra Developer
>> New Zealand
>> 
>> @aaronmorton
>> http://www.thelastpickle.com
>> 
>> On 29/01/2013, at 8:15 AM, Andy Cobley  
>> wrote:
>> 
>>> I have the following code in my app using the JDBC 
>>> (cassandra-jdbc-1.1.2.jar) drivers to CQL:
>>> 
>>> try {
>>> rs= stmt.executeQuery("SELECT * FROM users");
>>> }catch(Exception et){
>>> System.out.println("Can not execute statement "+et);
>>> }
>>> 
>>> When connecting to a CQL2 server (cassandra 1.1.5) the code works as 
>>> expected returning a result set .  When connecting to CQL3 (Cassandra 1.2) 
>>> I catch the following exception:
>>> 
>>> Can not execute statement java.lang.NullPointerException
>>> 
>>> The Select statement (Select * from users) does work from CQLSH as 
>>> expected.  Is there a problem with my code or something else ?
>>> 
>>> Andy C
>>> School of Computing
>>> University of Dundee.
>>> 
>>> 
>>> 
>>> The University of Dundee is a Scottish Registered Charity, No. SC015096.
>> 
> 
> The University of Dundee is a Scottish Registered Charity, No. SC015096.


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: JDBC, Select * Cql2 vs Cql3 problem ?

2013-01-31 Thread Andy Cobley
Hi Edward,

I've used Hector for years now myself and know how good it is.  I think I've 
tracked this to a problem in the JDBC driver, I'll post a message and raise a 
ticket over there.  (there is still a possibility that Cassandra 1.2 is sending 
an incorrect CQLresult set)

Andy



On 30 Jan 2013, at 14:26, Edward Capriolo  wrote:

> Darn auto correct cql2 , is only good for compact tables. Make sure you are 
> setting you cql version. Or frankly just switch to Hector / thrift and use 
> things that are know to work for years now.
> 
> On Wednesday, January 30, 2013, Edward Capriolo  wrote:
> > You really can't mix cql2 and cql3. Cql2 does not understand cql3s sparse 
> > tables. Technically it ,barfs all over the place. Cql2 is only good for 
> > contact tables.
> >
> > On Wednesday, January 30, 2013, Andy Cobley 
> >  wrote:
> >> Well this is getting stranger,   for me  with this simple table 
> >> definition, 
> >> select key,gender from users
> >> is also failing with a null pointer exception
> >> Andy
> >> On 29 Jan 2013, at 13:50, Andy Cobley  
> >> wrote:


The University of Dundee is a Scottish Registered Charity, No. SC015096.




JDBC : CreateresultSet fails with null column in CqlResultSet

2013-01-31 Thread Andy Cobley
As you may be aware I've been trying to track down a problem using JDBC 1.1.2 
with Cassandra 1.2.0  I was getting a null pointer exception in the result set. 
 I've done some digging into the JDBC driver  and found the following.

In CassandraResultSet.java the new result set is Instantiated in 

CassandraResultSet(Statement statement, CqlResult resultSet, String keyspace)

I decided to trace the result set with the following code:

rowsIterator = resultSet.getRowsIterator();
System.out.println("---");
while(rowsIterator.hasNext()){
   CqlRow row = rowsIterator.next();
   curRowKey = row.getKey();
   System.out.println("Row Key "+curRowKey);
   List cols = row.getColumns();
   Iterator iterator;
   iterator = cols.iterator(); 
   while (iterator.hasNext()){
   Column col=(Column)iterator.next();
   String Name= new String(col.getName());
   String Value = new String(col.getValue());
   System.out.println("Col "+Name+ " : "+Value);
}
}

This produced the following output:

---
Row Key [B@617e53c9
Col key : jsmith
Col  : 
Col password : ch@ngem3a
Row Key [B@2caee320
Col key : jbrown
Col  : 
Col gender : male
---

As you can see there is a black column at position 2 in each of the rows.  As 
this resultset has come from the Cassandra thrift client ( I believe) the 
problem amy lay there.  There is no blank column defined by my SQL create 
statements I believe. 

If I'm correct here, should I raise a ticket with JDBC or Cassandra ? (for now 
I've patched my local JDBC driver so it doesn't create a TypedColumn if the 
result set produces a null column)

Andy


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: JDBC : CreateresultSet fails with null column in CqlResultSet

2013-02-01 Thread Andy Cobley
Aaron,

Ticket is at 

http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/issues/detail?id=61

Andy

On 1 Feb 2013, at 18:01, aaron morton  wrote:

> I think 
> http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/issues/list is 
> the place to raise the issue. 
> 
> Can you update the mail thread with the ticket as well?
> 
> Thanks
> 
> -
> Aaron Morton
> Freelance Cassandra Developer
> New Zealand
> 
> @aaronmorton
> http://www.thelastpickle.com
> 


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: BulkLoading SSTables and compression

2012-06-28 Thread Andy Cobley
My (limited) experience of moving form 0.8 to 1.0 is that you do have to use 
rebuildsstables.  I'm guessing BlukLoading is bypassing the compression ?

Andy
 
On 28 Jun 2012, at 10:53, jmodha wrote:

> Hi,
> 
> We are migrating our Cassandra cluster from v1.0.3 to v1.1.1, the data is
> migrated using SSTableLoader to an empty Cassandra cluster.
> 
> The data in the source cluster (v1.0.3) is uncompressed and the target
> cluster (1.1.1) has the column family created with compression turned on.
> 
> What we are seeing is that once the data has been loaded into the target
> cluster, the size is similar to the data in the source cluster. Our
> expectation is that since we have turned on compression in the target
> cluster, the amount of data would be reduced.
> 
> We have tried running the "rebuildsstables" nodetool command on a node after
> data has been loaded and we do indeed see a huge reduction in size e.g. from
> 30GB to 10GB for a given column family. We were hoping to see this at the
> point of loading the data in via the SSTableLoader.
> 
> Is this behaviour expected? 
> 
> Do we need to run the rebuildsstables command on all nodes to actually
> compress the data after it has been streamed in?
> 
> Thanks.
> 
> --
> View this message in context: 
> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/BulkLoading-SSTables-and-compression-tp7580849.html
> Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
> Nabble.com.


The University of Dundee is a Scottish Registered Charity, No. SC015096.




SnappyCompressor and Cassandra 1.1.1

2012-07-01 Thread Andy Cobley
I'm running Cassandra on Raspberry Pi (for educational reason) and have been 
successfully running 1.1.0 for some time.  However there is no native build of 
SnappyCompressor for the platform (I'm currently working n rectifying that if I 
can) so that compression is unavailable.  When I try and start 1.1.1 on the 
platform I'm getting the following error which looks to me like 1.1.1 is trying 
to load snappy compressor at startup and falls over when to can't find it.  
Thats not been the case with 1.1.0:

INFO 14:22:07,600 Global memtable threshold is enabled at 35MB
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at 
org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
at org.xerial.snappy.Snappy.(Snappy.java:44)
at 
org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45)
at 
org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55)
at 
org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompressor.java:37)
at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
at 
org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
at 
org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439)
at 
org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescriptor.java:118)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353)
at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at 
org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52)
... 17 more
ERROR 14:22:09,934 Exception encountered during startup
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
at org.xerial.snappy.Snappy.(Snappy.java:44)
at 
org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45)
at 
org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55)
at 
org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompressor.java:37)
at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
at 
org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
at 
org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439)
at 
org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescriptor.java:118)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353)
at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
at org.xerial.snappy.Snappy.(Snappy.java:44)
at 
org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45)
at 
org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55)
at 
org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompressor.java:37)
at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
at 
org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
at 
org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439)
at 
org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescriptor.java:118)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353)
at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106)
Exception encountered during startup: [FAILED_TO_LOAD_NATIVE_LIBRARY] null

Andy


The University of Dundee is a Scottish Registered Charity, No. SC015096.




Re: SnappyCompressor and Cassandra 1.1.1

2012-07-02 Thread Andy Cobley
Thanks ,

Will give it a go now.

Andy

On 02/07/2012 08:13, "Sylvain Lebresne"  wrote:

>Yeah, we tried to catch when Snappy couldn't load (and deactivate it
>when that happens) but apparently we've missed a few of the exceptions
>that can be thrown in that case. I've created
>https://issues.apache.org/jira/browse/CASSANDRA-4400 to fix that. If
>you could try the patch on that issue and check it works for you that
>would be awesome since I don't have a Raspberry Pi myself to test.
>
>--
>Sylvain
>
>On Sun, Jul 1, 2012 at 3:26 PM, Andy Cobley
> wrote:
>> I'm running Cassandra on Raspberry Pi (for educational reason) and have
>>been successfully running 1.1.0 for some time.  However there is no
>>native build of SnappyCompressor for the platform (I'm currently working
>>n rectifying that if I can) so that compression is unavailable.  When I
>>try and start 1.1.1 on the platform I'm getting the following error
>>which looks to me like 1.1.1 is trying to load snappy compressor at
>>startup and falls over when to can't find it.  Thats not been the case
>>with 1.1.0:
>>
>> INFO 14:22:07,600 Global memtable threshold is enabled at 35MB
>> java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at 
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>:57)
>> at 
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>mpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:616)
>> at 
>>org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor
>>.java:45)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompr
>>essor.java:55)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompress
>>or.java:37)
>> at 
>>org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
>> at 
>>org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescripto
>>r.java:439)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescripto
>>r.java:118)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassan
>>draDaemon.java:126)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCas
>>sandraDaemon.java:353)
>> at 
>>org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106
>>)
>> Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in
>>java.library.path
>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
>> at java.lang.Runtime.loadLibrary0(Runtime.java:840)
>> at java.lang.System.loadLibrary(System.java:1047)
>> at 
>>org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:
>>52)
>> ... 17 more
>> ERROR 14:22:09,934 Exception encountered during startup
>> org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor
>>.java:45)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompr
>>essor.java:55)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompress
>>or.java:37)
>> at 
>>org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
>> at 
>>org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescripto
>>r.java:439)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescripto
>>r.java:118)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassan
>>draDaemon.java:126)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCas
>>sandraDaemon.java:353)
>> at 
>>org.apache.cassandra.thrift.C

Re: SnappyCompressor and Cassandra 1.1.1

2012-07-02 Thread Andy Cobley
I've tested this and added a not to issue 4400.  Hopefully that¹s the
correct thing to do.

Andy

On 02/07/2012 08:13, "Sylvain Lebresne"  wrote:

>Yeah, we tried to catch when Snappy couldn't load (and deactivate it
>when that happens) but apparently we've missed a few of the exceptions
>that can be thrown in that case. I've created
>https://issues.apache.org/jira/browse/CASSANDRA-4400 to fix that. If
>you could try the patch on that issue and check it works for you that
>would be awesome since I don't have a Raspberry Pi myself to test.
>
>--
>Sylvain
>
>On Sun, Jul 1, 2012 at 3:26 PM, Andy Cobley
> wrote:
>> I'm running Cassandra on Raspberry Pi (for educational reason) and have
>>been successfully running 1.1.0 for some time.  However there is no
>>native build of SnappyCompressor for the platform (I'm currently working
>>n rectifying that if I can) so that compression is unavailable.  When I
>>try and start 1.1.1 on the platform I'm getting the following error
>>which looks to me like 1.1.1 is trying to load snappy compressor at
>>startup and falls over when to can't find it.  Thats not been the case
>>with 1.1.0:
>>
>> INFO 14:22:07,600 Global memtable threshold is enabled at 35MB
>> java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at 
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>:57)
>> at 
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>mpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:616)
>> at 
>>org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor
>>.java:45)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompr
>>essor.java:55)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompress
>>or.java:37)
>> at 
>>org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
>> at 
>>org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescripto
>>r.java:439)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescripto
>>r.java:118)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassan
>>draDaemon.java:126)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCas
>>sandraDaemon.java:353)
>> at 
>>org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106
>>)
>> Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in
>>java.library.path
>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
>> at java.lang.Runtime.loadLibrary0(Runtime.java:840)
>> at java.lang.System.loadLibrary(System.java:1047)
>> at 
>>org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:
>>52)
>> ... 17 more
>> ERROR 14:22:09,934 Exception encountered during startup
>> org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor
>>.java:45)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompr
>>essor.java:55)
>> at 
>>org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompress
>>or.java:37)
>> at 
>>org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
>> at 
>>org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescripto
>>r.java:439)
>> at 
>>org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescripto
>>r.java:118)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassan
>>draDaemon.java:126)
>> at 
>>org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCas
>>sandraDaemon.j

Re: SnappyCompressor and Cassandra 1.1.1

2012-07-04 Thread Andy Cobley
Yes,

I've a number of (badly written I admit) blog posts at:

http://ac31004.blogspot.co.uk/

Andy

From:  aaron morton 
Reply-To:  
Date:  Wednesday, 4 July 2012 10:03
To:  
Subject:  Re: SnappyCompressor and Cassandra 1.1.1

Andy, 
>>> I'm running Cassandra on Raspberry Pi (for educational reason) and have

Have you written about your experiences anywhere ?

Cheers

-
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com

On 3/07/2012, at 3:02 AM, Andy Cobley wrote:

> I've tested this and added a not to issue 4400.  Hopefully that¹s the
> correct thing to do.
> 
> Andy
> 
> On 02/07/2012 08:13, "Sylvain Lebresne"  wrote:
> 
>> Yeah, we tried to catch when Snappy couldn't load (and deactivate it
>> when that happens) but apparently we've missed a few of the exceptions
>> that can be thrown in that case. I've created
>> https://issues.apache.org/jira/browse/CASSANDRA-4400 to fix that. If
>> you could try the patch on that issue and check it works for you that
>> would be awesome since I don't have a Raspberry Pi myself to test.
>> 
>> --
>> Sylvain
>> 
>> On Sun, Jul 1, 2012 at 3:26 PM, Andy Cobley
>>  wrote:
>>> I'm running Cassandra on Raspberry Pi (for educational reason) and have
>>> been successfully running 1.1.0 for some time.  However there is no
>>> native build of SnappyCompressor for the platform (I'm currently working
>>> n rectifying that if I can) so that compression is unavailable.  When I
>>> try and start 1.1.1 on the platform I'm getting the following error
>>> which looks to me like 1.1.1 is trying to load snappy compressor at
>>> startup and falls over when to can't find it.  Thats not been the case
>>> with 1.1.0:
>>> 
>>> INFO 14:22:07,600 Global memtable threshold is enabled at 35MB
>>> java.lang.reflect.InvocationTargetException
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at 
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>> :57)
>>> at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>> mpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:616)
>>> at 
>>> org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
>>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
>>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>>> at 
>>> org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor
>>> .java:45)
>>> at 
>>> org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompr
>>> essor.java:55)
>>> at 
>>> org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompress
>>> or.java:37)
>>> at 
>>> org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
>>> at 
>>> org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
>>> at 
>>> org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescripto
>>> r.java:439)
>>> at 
>>> org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescripto
>>> r.java:118)
>>> at 
>>> org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassan
>>> draDaemon.java:126)
>>> at 
>>> org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCas
>>> sandraDaemon.java:353)
>>> at 
>>> org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106
>>> )
>>> Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in
>>> java.library.path
>>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
>>> at java.lang.Runtime.loadLibrary0(Runtime.java:840)
>>> at java.lang.System.loadLibrary(System.java:1047)
>>> at 
>>> org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:
>>> 52)
>>> ... 17 more
>>> ERROR 14:22:09,934 Exception encountered during startup
>>> org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
>>> at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
>>> at org.xerial.snappy.Snappy.(Snappy.java:44)
>>> at 
>>> org.apache.cassandra.io.compress.SnappyCompressor.create(Sna