[jira] [Commented] (CASSANDRA-3961) Make index_interval configurable per column family

2012-12-08 Thread Radim Kolar (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-3961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13527161#comment-13527161
 ] 

Radim Kolar commented on CASSANDRA-3961:


can it go into 1.2? its simple patch.

 Make index_interval configurable per column family
 --

 Key: CASSANDRA-3961
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3961
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Cassandra 1.0.7/unix
Reporter: Radim Kolar
Assignee: Radim Kolar
 Fix For: 2.0

 Attachments: cass-interval1.txt, cass-interval2.txt, 
 cass-interval3.txt, cass-interval4.txt, cass-interval5.txt, cass-interval6.txt


 After various experiments with mixing OLTP a OLAP workload running on single 
 cassandra cluster i discovered that lot of memory is wasted on holding index 
 samples for CF which are rarely accessed or index is not much used for CF 
 access because slices over keys are used. 
 There is per column family setting for configuring bloom filters - 
 bloom_filter_fp_chance. Please add setting index_interval configurable per CF 
 as well. If this setting is not set or it is zero, default from 
 cassandra.yaml will be used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/2] Update IAuthenticator to match the new IAuthorizer; patch by Aleksey Yeschenko, reviewed by Jonathan Ellis for CASSANDRA-5003

2012-12-08 Thread aleksey
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bddfa9e1/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index 97d25dc..06c752f 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -28,15 +28,13 @@ import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.db.Table;
+import org.apache.cassandra.exceptions.AuthenticationException;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.UnauthorizedException;
-import org.apache.cassandra.thrift.AuthenticationException;
 import org.apache.cassandra.utils.SemanticVersion;
 
 /**
  * State related to a client connection.
- *
- * TODO: Kill thrift exceptions
  */
 public class ClientState
 {
@@ -57,12 +55,12 @@ public class ClientState
 for (String cf : cfs)
 
READABLE_SYSTEM_RESOURCES.add(DataResource.columnFamily(Table.SYSTEM_KS, cf));
 
+
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
 
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
-// TODO: the same with IAuthenticator once it's done.
 }
 
 // Current user for the session
-private AuthenticatedUser user;
+private volatile AuthenticatedUser user;
 private String keyspace;
 
 private SemanticVersion cqlVersion = DEFAULT_CQL_VERSION;
@@ -82,7 +80,8 @@ public class ClientState
 public ClientState(boolean internalCall)
 {
 this.internalCall = internalCall;
-this.user = DatabaseDescriptor.getAuthenticator().defaultUser();
+if (!DatabaseDescriptor.getAuthenticator().requireAuthentication())
+this.user = AuthenticatedUser.ANONYMOUS_USER;
 }
 
 public String getRawKeyspace()
@@ -107,9 +106,15 @@ public class ClientState
 /**
  * Attempts to login this client with the given credentials map.
  */
-public void login(Map? extends CharSequence,? extends CharSequence 
credentials) throws AuthenticationException
+public void login(MapString, String credentials) throws 
AuthenticationException
 {
-this.user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+AuthenticatedUser user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+
+if (!user.isAnonymous()  !Auth.isExistingUser(user.getName()))
+   throw new AuthenticationException(String.format(User %s doesn't 
exist - create it with CREATE USER query first,
+   user.getName()));
+
+this.user = user;
 }
 
 public void hasAllKeyspacesAccess(Permission perm) throws 
UnauthorizedException, InvalidRequestException
@@ -154,7 +159,7 @@ public class ClientState
 return;
 }
 throw new UnauthorizedException(String.format(User %s has no %s 
permission on %s or any of its parents,
-  user.username,
+  user.getName(),
   perm,
   resource));
 }
@@ -165,15 +170,17 @@ public class ClientState
 throw new UnauthorizedException(keyspace +  keyspace is not 
user-modifiable.);
 }
 
-public boolean isLogged()
+public void validateLogin() throws UnauthorizedException
 {
-return user != null;
+if (user == null)
+throw new UnauthorizedException(You have not logged in);
 }
 
-private void validateLogin() throws InvalidRequestException
+public void ensureNotAnonymous() throws UnauthorizedException
 {
-if (user == null)
-throw new InvalidRequestException(You have not logged in);
+validateLogin();
+if (user.isAnonymous())
+throw new UnauthorizedException(You have to be logged in to 
perform this query);
 }
 
 private static void validateKeyspace(String keyspace) throws 
InvalidRequestException
@@ -214,6 +221,11 @@ public class ClientState
 
StringUtils.join(getCQLSupportedVersion(), , )));
 }
 
+public AuthenticatedUser getUser()
+{
+return user;
+}
+
 public SemanticVersion getCQLVersion()
 {
 return cqlVersion;
@@ -227,26 +239,8 @@ public class ClientState
 return new SemanticVersion[]{ cql, cql3 };
 }
 
-public SetPermission authorize(IResource resource)
+private SetPermission authorize(IResource 

[1/3] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 2828d28eb - ee0d178c6


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ee0d178c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee0d178c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee0d178c

Branch: refs/heads/cassandra-1.2
Commit: ee0d178c6e9581bcb9f6d50924bdae53fc4155fa
Parents: 2828d28 bddfa9e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 18:28:10 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 18:28:10 2012 +0300

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/native_protocol.spec   |2 +
 .../simple_authentication/conf/passwd.properties   |5 +-
 .../apache/cassandra/auth/SimpleAuthenticator.java |   24 +--
 pylib/cqlshlib/cql3handling.py |   42 -
 .../cassandra/auth/AllowAllAuthenticator.java  |   50 +-
 .../apache/cassandra/auth/AllowAllAuthorizer.java  |   18 +-
 src/java/org/apache/cassandra/auth/Auth.java   |  131 +++
 .../apache/cassandra/auth/AuthenticatedUser.java   |   38 +++-
 .../org/apache/cassandra/auth/IAuthenticator.java  |   96 ++-
 .../org/apache/cassandra/auth/IAuthorizer.java |   18 +-
 src/java/org/apache/cassandra/auth/IResource.java  |8 +-
 .../apache/cassandra/auth/LegacyAuthenticator.java |   92 ++
 .../apache/cassandra/auth/LegacyAuthorizer.java|   15 +-
 .../org/apache/cassandra/config/CFMetaData.java|6 +
 .../cassandra/config/DatabaseDescriptor.java   |4 +-
 .../org/apache/cassandra/config/KSMetaData.java|7 +
 src/java/org/apache/cassandra/config/Schema.java   |5 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   88 +--
 .../org/apache/cassandra/cql3/QueryProcessor.java  |   21 +++
 .../org/apache/cassandra/cql3/UserOptions.java |   62 +++
 .../cql3/statements/AlterUserStatement.java|   86 ++
 .../cql3/statements/AuthenticationStatement.java   |   57 +++
 .../cql3/statements/AuthorizationStatement.java|   10 +-
 .../cql3/statements/CreateUserStatement.java   |   64 +++
 .../cql3/statements/DropUserStatement.java |   62 +++
 .../cassandra/cql3/statements/GrantStatement.java  |7 +-
 .../cql3/statements/ListPermissionsStatement.java  |   25 ++-
 .../cql3/statements/ListUsersStatement.java|   48 ++
 .../statements/PermissionAlteringStatement.java|7 +-
 .../cassandra/cql3/statements/RevokeStatement.java |7 +-
 .../exceptions/AuthenticationException.java|   26 +++
 .../apache/cassandra/exceptions/ExceptionCode.java |2 +
 .../apache/cassandra/service/CassandraDaemon.java  |8 +-
 .../org/apache/cassandra/service/ClientState.java  |   60 +++
 .../apache/cassandra/thrift/CassandraServer.java   |9 +-
 .../apache/cassandra/thrift/ThriftConversion.java  |5 +
 .../transport/messages/CredentialsMessage.java |3 +-
 .../cassandra/transport/messages/ErrorMessage.java |3 +
 .../transport/messages/StartupMessage.java |6 +-
 41 files changed, 1079 insertions(+), 163 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee0d178c/CHANGES.txt
--



[3/3] Update IAuthenticator to match the new IAuthorizer; patch by Aleksey Yeschenko, reviewed by Jonathan Ellis for CASSANDRA-5003

2012-12-08 Thread aleksey
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bddfa9e1/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index 97d25dc..06c752f 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -28,15 +28,13 @@ import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.db.Table;
+import org.apache.cassandra.exceptions.AuthenticationException;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.UnauthorizedException;
-import org.apache.cassandra.thrift.AuthenticationException;
 import org.apache.cassandra.utils.SemanticVersion;
 
 /**
  * State related to a client connection.
- *
- * TODO: Kill thrift exceptions
  */
 public class ClientState
 {
@@ -57,12 +55,12 @@ public class ClientState
 for (String cf : cfs)
 
READABLE_SYSTEM_RESOURCES.add(DataResource.columnFamily(Table.SYSTEM_KS, cf));
 
+
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
 
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
-// TODO: the same with IAuthenticator once it's done.
 }
 
 // Current user for the session
-private AuthenticatedUser user;
+private volatile AuthenticatedUser user;
 private String keyspace;
 
 private SemanticVersion cqlVersion = DEFAULT_CQL_VERSION;
@@ -82,7 +80,8 @@ public class ClientState
 public ClientState(boolean internalCall)
 {
 this.internalCall = internalCall;
-this.user = DatabaseDescriptor.getAuthenticator().defaultUser();
+if (!DatabaseDescriptor.getAuthenticator().requireAuthentication())
+this.user = AuthenticatedUser.ANONYMOUS_USER;
 }
 
 public String getRawKeyspace()
@@ -107,9 +106,15 @@ public class ClientState
 /**
  * Attempts to login this client with the given credentials map.
  */
-public void login(Map? extends CharSequence,? extends CharSequence 
credentials) throws AuthenticationException
+public void login(MapString, String credentials) throws 
AuthenticationException
 {
-this.user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+AuthenticatedUser user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+
+if (!user.isAnonymous()  !Auth.isExistingUser(user.getName()))
+   throw new AuthenticationException(String.format(User %s doesn't 
exist - create it with CREATE USER query first,
+   user.getName()));
+
+this.user = user;
 }
 
 public void hasAllKeyspacesAccess(Permission perm) throws 
UnauthorizedException, InvalidRequestException
@@ -154,7 +159,7 @@ public class ClientState
 return;
 }
 throw new UnauthorizedException(String.format(User %s has no %s 
permission on %s or any of its parents,
-  user.username,
+  user.getName(),
   perm,
   resource));
 }
@@ -165,15 +170,17 @@ public class ClientState
 throw new UnauthorizedException(keyspace +  keyspace is not 
user-modifiable.);
 }
 
-public boolean isLogged()
+public void validateLogin() throws UnauthorizedException
 {
-return user != null;
+if (user == null)
+throw new UnauthorizedException(You have not logged in);
 }
 
-private void validateLogin() throws InvalidRequestException
+public void ensureNotAnonymous() throws UnauthorizedException
 {
-if (user == null)
-throw new InvalidRequestException(You have not logged in);
+validateLogin();
+if (user.isAnonymous())
+throw new UnauthorizedException(You have to be logged in to 
perform this query);
 }
 
 private static void validateKeyspace(String keyspace) throws 
InvalidRequestException
@@ -214,6 +221,11 @@ public class ClientState
 
StringUtils.join(getCQLSupportedVersion(), , )));
 }
 
+public AuthenticatedUser getUser()
+{
+return user;
+}
+
 public SemanticVersion getCQLVersion()
 {
 return cqlVersion;
@@ -227,26 +239,8 @@ public class ClientState
 return new SemanticVersion[]{ cql, cql3 };
 }
 
-public SetPermission authorize(IResource resource)
+private SetPermission authorize(IResource 

[4/10] Update IAuthenticator to match the new IAuthorizer; patch by Aleksey Yeschenko, reviewed by Jonathan Ellis for CASSANDRA-5003

2012-12-08 Thread aleksey
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bddfa9e1/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index 97d25dc..06c752f 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -28,15 +28,13 @@ import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.db.Table;
+import org.apache.cassandra.exceptions.AuthenticationException;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.UnauthorizedException;
-import org.apache.cassandra.thrift.AuthenticationException;
 import org.apache.cassandra.utils.SemanticVersion;
 
 /**
  * State related to a client connection.
- *
- * TODO: Kill thrift exceptions
  */
 public class ClientState
 {
@@ -57,12 +55,12 @@ public class ClientState
 for (String cf : cfs)
 
READABLE_SYSTEM_RESOURCES.add(DataResource.columnFamily(Table.SYSTEM_KS, cf));
 
+
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
 
PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
-// TODO: the same with IAuthenticator once it's done.
 }
 
 // Current user for the session
-private AuthenticatedUser user;
+private volatile AuthenticatedUser user;
 private String keyspace;
 
 private SemanticVersion cqlVersion = DEFAULT_CQL_VERSION;
@@ -82,7 +80,8 @@ public class ClientState
 public ClientState(boolean internalCall)
 {
 this.internalCall = internalCall;
-this.user = DatabaseDescriptor.getAuthenticator().defaultUser();
+if (!DatabaseDescriptor.getAuthenticator().requireAuthentication())
+this.user = AuthenticatedUser.ANONYMOUS_USER;
 }
 
 public String getRawKeyspace()
@@ -107,9 +106,15 @@ public class ClientState
 /**
  * Attempts to login this client with the given credentials map.
  */
-public void login(Map? extends CharSequence,? extends CharSequence 
credentials) throws AuthenticationException
+public void login(MapString, String credentials) throws 
AuthenticationException
 {
-this.user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+AuthenticatedUser user = 
DatabaseDescriptor.getAuthenticator().authenticate(credentials);
+
+if (!user.isAnonymous()  !Auth.isExistingUser(user.getName()))
+   throw new AuthenticationException(String.format(User %s doesn't 
exist - create it with CREATE USER query first,
+   user.getName()));
+
+this.user = user;
 }
 
 public void hasAllKeyspacesAccess(Permission perm) throws 
UnauthorizedException, InvalidRequestException
@@ -154,7 +159,7 @@ public class ClientState
 return;
 }
 throw new UnauthorizedException(String.format(User %s has no %s 
permission on %s or any of its parents,
-  user.username,
+  user.getName(),
   perm,
   resource));
 }
@@ -165,15 +170,17 @@ public class ClientState
 throw new UnauthorizedException(keyspace +  keyspace is not 
user-modifiable.);
 }
 
-public boolean isLogged()
+public void validateLogin() throws UnauthorizedException
 {
-return user != null;
+if (user == null)
+throw new UnauthorizedException(You have not logged in);
 }
 
-private void validateLogin() throws InvalidRequestException
+public void ensureNotAnonymous() throws UnauthorizedException
 {
-if (user == null)
-throw new InvalidRequestException(You have not logged in);
+validateLogin();
+if (user.isAnonymous())
+throw new UnauthorizedException(You have to be logged in to 
perform this query);
 }
 
 private static void validateKeyspace(String keyspace) throws 
InvalidRequestException
@@ -214,6 +221,11 @@ public class ClientState
 
StringUtils.join(getCQLSupportedVersion(), , )));
 }
 
+public AuthenticatedUser getUser()
+{
+return user;
+}
+
 public SemanticVersion getCQLVersion()
 {
 return cqlVersion;
@@ -227,26 +239,8 @@ public class ClientState
 return new SemanticVersion[]{ cql, cql3 };
 }
 
-public SetPermission authorize(IResource resource)
+private SetPermission authorize(IResource 

[10/10] git commit: Cleanup from 5025, allow recovering nodes to pull immediately

2012-12-08 Thread aleksey
Cleanup from 5025, allow recovering nodes to pull immediately


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ec7a5f10
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ec7a5f10
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ec7a5f10

Branch: refs/heads/trunk
Commit: ec7a5f1040545905016feb18ee5e31224eae624c
Parents: c9ce1f0
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:23:40 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:23:40 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |4 +---
 2 files changed, 11 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec7a5f10/src/java/org/apache/cassandra/service/MigrationManager.java
--
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java 
b/src/java/org/apache/cassandra/service/MigrationManager.java
index 72a9a84..9a82517 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -33,6 +33,9 @@ import java.util.Collection;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,6 +68,10 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 private static final int MIGRATION_REQUEST_RETRIES = 3;
 private static final ByteBuffer LAST_MIGRATION_KEY = 
ByteBufferUtil.bytes(Last Migration);
 
+private static final RuntimeMXBean runtimeMXBean = 
ManagementFactory.getRuntimeMXBean();
+
+public static final int MIGRATION_DELAY_IN_MS = 6;
+
 public void onJoin(InetAddress endpoint, EndpointState epState)
 {}
 
@@ -106,9 +113,9 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 if (Schema.instance.getVersion().equals(theirVersion))
 return;
 
-if (Schema.emptyVersion.equals(Schema.instance.getVersion()))
+if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || 
runtimeMXBean.getUptime()  MIGRATION_DELAY_IN_MS)
 {
-// If we think we may be bootstrapping, submit MigrationTask 
immediately
+// If we think we may be bootstrapping or have recently started, 
submit MigrationTask immediately
 submitMigrationTask(endpoint);
 }
 else
@@ -128,7 +135,7 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 submitMigrationTask(endpoint);
 }
 };
-StorageService.optionalTasks.schedule(runnable, 1, 
TimeUnit.MINUTES);
+StorageService.optionalTasks.schedule(runnable, 
MIGRATION_DELAY_IN_MS, TimeUnit.MILLISECONDS);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec7a5f10/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index d041279..a948786 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -546,8 +546,7 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 
 // gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
-Schema.instance.updateVersion(); // Ensure we know our own actual 
Schema UUID in preparation for updates
-MigrationManager.passiveAnnounce(Schema.emptyVersion);
+Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own 
actual Schema UUID in preparation for updates
 
 // add rpc listening info
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
@@ -556,7 +555,6 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
 LoadBroadcaster.instance.startBroadcasting();
-MigrationManager.passiveAnnounce(Schema.instance.getVersion());
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RELEASE_VERSION, 
valueFactory.releaseVersion());
 
  

[1/10] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/trunk 36389f7d8 - 253a7f028


Merge branch 'cassandra-1.2' into trunk

Conflicts:
src/java/org/apache/cassandra/service/StorageService.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/253a7f02
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/253a7f02
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/253a7f02

Branch: refs/heads/trunk
Commit: 253a7f028b1485f0b3556de9d81e19d1391e8edd
Parents: 36389f7 ee0d178
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 18:39:52 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 18:39:52 2012 +0300

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/native_protocol.spec   |2 +
 .../simple_authentication/conf/passwd.properties   |5 +-
 .../apache/cassandra/auth/SimpleAuthenticator.java |   24 +--
 pylib/cqlshlib/cql3handling.py |   42 -
 .../cassandra/auth/AllowAllAuthenticator.java  |   50 +-
 .../apache/cassandra/auth/AllowAllAuthorizer.java  |   18 +-
 src/java/org/apache/cassandra/auth/Auth.java   |  131 +++
 .../apache/cassandra/auth/AuthenticatedUser.java   |   38 +++-
 .../org/apache/cassandra/auth/IAuthenticator.java  |   96 ++-
 .../org/apache/cassandra/auth/IAuthorizer.java |   18 +-
 src/java/org/apache/cassandra/auth/IResource.java  |8 +-
 .../apache/cassandra/auth/LegacyAuthenticator.java |   92 ++
 .../apache/cassandra/auth/LegacyAuthorizer.java|   15 +-
 .../org/apache/cassandra/config/CFMetaData.java|6 +
 .../cassandra/config/DatabaseDescriptor.java   |4 +-
 .../org/apache/cassandra/config/KSMetaData.java|7 +
 src/java/org/apache/cassandra/config/Schema.java   |5 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   88 +--
 .../org/apache/cassandra/cql3/QueryProcessor.java  |   21 +++
 .../org/apache/cassandra/cql3/UserOptions.java |   62 +++
 .../cql3/statements/AlterUserStatement.java|   86 ++
 .../cql3/statements/AuthenticationStatement.java   |   57 +++
 .../cql3/statements/AuthorizationStatement.java|   10 +-
 .../cql3/statements/CreateUserStatement.java   |   64 +++
 .../cql3/statements/DropUserStatement.java |   62 +++
 .../cassandra/cql3/statements/GrantStatement.java  |7 +-
 .../cql3/statements/ListPermissionsStatement.java  |   25 ++-
 .../cql3/statements/ListUsersStatement.java|   48 ++
 .../statements/PermissionAlteringStatement.java|7 +-
 .../cassandra/cql3/statements/RevokeStatement.java |7 +-
 .../exceptions/AuthenticationException.java|   26 +++
 .../apache/cassandra/exceptions/ExceptionCode.java |2 +
 .../apache/cassandra/service/CassandraDaemon.java  |8 +-
 .../org/apache/cassandra/service/ClientState.java  |   60 +++
 .../apache/cassandra/service/StorageService.java   |1 +
 .../apache/cassandra/thrift/CassandraServer.java   |9 +-
 .../apache/cassandra/thrift/ThriftConversion.java  |5 +
 .../transport/messages/CredentialsMessage.java |3 +-
 .../cassandra/transport/messages/ErrorMessage.java |3 +
 .../transport/messages/StartupMessage.java |6 +-
 42 files changed, 1080 insertions(+), 163 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/pylib/cqlshlib/cql3handling.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/src/java/org/apache/cassandra/config/CFMetaData.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/src/java/org/apache/cassandra/config/Schema.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/src/java/org/apache/cassandra/service/StorageService.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/253a7f02/src/java/org/apache/cassandra/thrift/CassandraServer.java
--



[6/10] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fdec45f7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fdec45f7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fdec45f7

Branch: refs/heads/trunk
Commit: fdec45f7f4a60049db7b6698491d3149637fd913
Parents: 32fe754 fbf9f55
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:30:14 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:30:14 2012 -0600

--
 CHANGES.txt |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fdec45f7/CHANGES.txt
--



[7/10] git commit: Merge branch 'cassandra-1.2.0' of https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2.0

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' of 
https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2.0

Conflicts:
src/java/org/apache/cassandra/service/StorageService.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fbf9f553
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fbf9f553
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fbf9f553

Branch: refs/heads/trunk
Commit: fbf9f5533e6910aa61e50d43a28e83aecbe1e665
Parents: 904caea d599b3f
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:29:49 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:29:49 2012 -0600

--
 CHANGES.txt |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
--




[8/10] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/32fe754d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/32fe754d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/32fe754d

Branch: refs/heads/trunk
Commit: 32fe754dbed1784122509d7475584050443e47e8
Parents: cf3cde3 904caea
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:26:04 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:26:04 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |6 ++
 2 files changed, 12 insertions(+), 7 deletions(-)
--




[9/10] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.1' into cassandra-1.2.0

Conflicts:
src/java/org/apache/cassandra/service/MigrationManager.java
src/java/org/apache/cassandra/service/StorageService.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/904caea6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/904caea6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/904caea6

Branch: refs/heads/trunk
Commit: 904caea6ff08074684a9c35195bcf145fcf97d08
Parents: 44545d3 ec7a5f1
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:25:54 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:25:54 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |6 ++
 2 files changed, 12 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/904caea6/src/java/org/apache/cassandra/service/MigrationManager.java
--
diff --cc src/java/org/apache/cassandra/service/MigrationManager.java
index cbe9127,9a82517..028ec8b
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@@ -23,11 -25,17 +23,14 @@@ import java.io.IOException
  import java.net.InetAddress;
  import java.nio.ByteBuffer;
  import java.util.*;
 -import java.util.concurrent.Callable;
 +import java.util.concurrent.CopyOnWriteArrayList;
  import java.util.concurrent.ExecutionException;
  import java.util.concurrent.Future;
 -import java.util.ArrayList;
 -import java.util.Collection;
 -import java.util.UUID;
  import java.util.concurrent.TimeUnit;
  
+ import java.lang.management.ManagementFactory;
+ import java.lang.management.RuntimeMXBean;
+ 
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
@@@ -54,24 -64,14 +57,28 @@@ public class MigrationManager implement
  {
  private static final Logger logger = 
LoggerFactory.getLogger(MigrationManager.class);
  
 -// try that many times to send migration request to the node before 
giving up
 -private static final int MIGRATION_REQUEST_RETRIES = 3;
  private static final ByteBuffer LAST_MIGRATION_KEY = 
ByteBufferUtil.bytes(Last Migration);
  
 +public static final MigrationManager instance = new MigrationManager();
 +
+ private static final RuntimeMXBean runtimeMXBean = 
ManagementFactory.getRuntimeMXBean();
+ 
+ public static final int MIGRATION_DELAY_IN_MS = 6;
+ 
 +private final ListIMigrationListener listeners = new 
CopyOnWriteArrayListIMigrationListener();
 +
 +private MigrationManager() {}
 +
 +public void register(IMigrationListener listener)
 +{
 +listeners.add(listener);
 +}
 +
 +public void unregister(IMigrationListener listener)
 +{
 +listeners.remove(listener);
 +}
 +
  public void onJoin(InetAddress endpoint, EndpointState epState)
  {}
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/904caea6/src/java/org/apache/cassandra/service/StorageService.java
--
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 276136a,a948786..e5550f9
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -522,17 -544,13 +522,16 @@@ public class StorageService implements 
  Gossiper.instance.register(this);
  Gossiper.instance.register(migrationManager);
  Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 -
 -// gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
 +// gossip network proto version
 +
Gossiper.instance.addLocalApplicationState(ApplicationState.NET_VERSION, 
valueFactory.networkVersion());
 +Gossiper.instance.addLocalApplicationState(ApplicationState.HOST_ID, 
valueFactory.hostId(SystemTable.getLocalHostId()));
 +// gossip snitch infos (local DC and rack)
 +gossipSnitchInfo();
- // gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
- Schema.instance.updateVersion(); // Ensure we know our own actual 
Schema UUID in preparation for updates
- MigrationManager.passiveAnnounce(Schema.emptyVersion);
+ Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own 
actual Schema UUID in preparation for updates
+ 
  // add rpc listening info
  

[2/10] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ee0d178c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee0d178c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee0d178c

Branch: refs/heads/trunk
Commit: ee0d178c6e9581bcb9f6d50924bdae53fc4155fa
Parents: 2828d28 bddfa9e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 18:28:10 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 18:28:10 2012 +0300

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/native_protocol.spec   |2 +
 .../simple_authentication/conf/passwd.properties   |5 +-
 .../apache/cassandra/auth/SimpleAuthenticator.java |   24 +--
 pylib/cqlshlib/cql3handling.py |   42 -
 .../cassandra/auth/AllowAllAuthenticator.java  |   50 +-
 .../apache/cassandra/auth/AllowAllAuthorizer.java  |   18 +-
 src/java/org/apache/cassandra/auth/Auth.java   |  131 +++
 .../apache/cassandra/auth/AuthenticatedUser.java   |   38 +++-
 .../org/apache/cassandra/auth/IAuthenticator.java  |   96 ++-
 .../org/apache/cassandra/auth/IAuthorizer.java |   18 +-
 src/java/org/apache/cassandra/auth/IResource.java  |8 +-
 .../apache/cassandra/auth/LegacyAuthenticator.java |   92 ++
 .../apache/cassandra/auth/LegacyAuthorizer.java|   15 +-
 .../org/apache/cassandra/config/CFMetaData.java|6 +
 .../cassandra/config/DatabaseDescriptor.java   |4 +-
 .../org/apache/cassandra/config/KSMetaData.java|7 +
 src/java/org/apache/cassandra/config/Schema.java   |5 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   88 +--
 .../org/apache/cassandra/cql3/QueryProcessor.java  |   21 +++
 .../org/apache/cassandra/cql3/UserOptions.java |   62 +++
 .../cql3/statements/AlterUserStatement.java|   86 ++
 .../cql3/statements/AuthenticationStatement.java   |   57 +++
 .../cql3/statements/AuthorizationStatement.java|   10 +-
 .../cql3/statements/CreateUserStatement.java   |   64 +++
 .../cql3/statements/DropUserStatement.java |   62 +++
 .../cassandra/cql3/statements/GrantStatement.java  |7 +-
 .../cql3/statements/ListPermissionsStatement.java  |   25 ++-
 .../cql3/statements/ListUsersStatement.java|   48 ++
 .../statements/PermissionAlteringStatement.java|7 +-
 .../cassandra/cql3/statements/RevokeStatement.java |7 +-
 .../exceptions/AuthenticationException.java|   26 +++
 .../apache/cassandra/exceptions/ExceptionCode.java |2 +
 .../apache/cassandra/service/CassandraDaemon.java  |8 +-
 .../org/apache/cassandra/service/ClientState.java  |   60 +++
 .../apache/cassandra/thrift/CassandraServer.java   |9 +-
 .../apache/cassandra/thrift/ThriftConversion.java  |5 +
 .../transport/messages/CredentialsMessage.java |3 +-
 .../cassandra/transport/messages/ErrorMessage.java |3 +
 .../transport/messages/StartupMessage.java |6 +-
 41 files changed, 1079 insertions(+), 163 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee0d178c/CHANGES.txt
--



[5/10] git commit: Merge branch 'cassandra-1.2' of https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2' of 
https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2828d28e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2828d28e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2828d28e

Branch: refs/heads/trunk
Commit: 2828d28eb40454ed81cbfb1d3df49d0fadaf043d
Parents: fdec45f bdf9c2a
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:30:19 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:30:19 2012 -0600

--

--




[jira] [Commented] (CASSANDRA-5003) Update IAuthenticator to allow dynamic user creation and removal

2012-12-08 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13527174#comment-13527174
 ] 

Aleksey Yeschenko commented on CASSANDRA-5003:
--

Thanks. Just committed.

 Update IAuthenticator to allow dynamic user creation and removal
 

 Key: CASSANDRA-5003
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5003
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
 Fix For: 1.2.0 rc1

 Attachments: 5003-p2.txt, 5003.txt


 - add new methods to IAuthenticator (createUser, alterUser, dropUser)
 - add CREATE USER, ALTER USER, DROP USER and LIST USERS CQL3 statements

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[4/13] git commit: merge from 1.1

2012-12-08 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/66706d1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/66706d1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/66706d1c

Branch: refs/heads/trunk
Commit: 66706d1cc3b60a1ad4265936616972bfd8f20aa0
Parents: bddfa9e 5b511b6
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:27 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:27 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/CHANGES.txt
--
diff --cc CHANGES.txt
index 48ebb87,15d63f0..b92984d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,57 -1,14 +1,59 @@@
 -1.1.8
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 +Merged from 1.1
+  * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
  
+ 
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA-4945)
 + * Fix CQL3 LIMIT (CASSANDRA-4877)
 + * Fix Stress for CQL3 (CASSANDRA-4979)
 + * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
 + * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries 
(CASSANDRA-4915)
 + * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
 + * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
 + * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
 + * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
 + * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
 +   in CQL3 mode (CASSANDRA-4955)
   * add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
   * fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
 +Merged from 1.1:
 + * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 + * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
 + * Fix assertion failure with leveled compaction (CASSANDRA-4799)
 + * Check for null end_token in get_range_slice (CASSANDRA-4804)
 + * Remove all remnants of removed nodes (CASSANDRA-4840)
 + * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
 + * Fix estimated row cache entry size (CASSANDRA-4860)
   * reset getRangeSlice filter after finishing a row for get_paged_slice
 (CASSANDRA-4919)
   * expunge row cache 

[12/13] git commit: Cleanup from 5025, allow recovering nodes to pull immediately

2012-12-08 Thread jbellis
Cleanup from 5025, allow recovering nodes to pull immediately


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e462979
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e462979
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e462979

Branch: refs/heads/trunk
Commit: 5e4629793b41674bc4056e87e00eaa6bf30133fa
Parents: f618369
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:23:40 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:29:02 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |4 +---
 2 files changed, 11 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/MigrationManager.java
--
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java 
b/src/java/org/apache/cassandra/service/MigrationManager.java
index 72a9a84..9a82517 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -33,6 +33,9 @@ import java.util.Collection;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,6 +68,10 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 private static final int MIGRATION_REQUEST_RETRIES = 3;
 private static final ByteBuffer LAST_MIGRATION_KEY = 
ByteBufferUtil.bytes(Last Migration);
 
+private static final RuntimeMXBean runtimeMXBean = 
ManagementFactory.getRuntimeMXBean();
+
+public static final int MIGRATION_DELAY_IN_MS = 6;
+
 public void onJoin(InetAddress endpoint, EndpointState epState)
 {}
 
@@ -106,9 +113,9 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 if (Schema.instance.getVersion().equals(theirVersion))
 return;
 
-if (Schema.emptyVersion.equals(Schema.instance.getVersion()))
+if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || 
runtimeMXBean.getUptime()  MIGRATION_DELAY_IN_MS)
 {
-// If we think we may be bootstrapping, submit MigrationTask 
immediately
+// If we think we may be bootstrapping or have recently started, 
submit MigrationTask immediately
 submitMigrationTask(endpoint);
 }
 else
@@ -128,7 +135,7 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 submitMigrationTask(endpoint);
 }
 };
-StorageService.optionalTasks.schedule(runnable, 1, 
TimeUnit.MINUTES);
+StorageService.optionalTasks.schedule(runnable, 
MIGRATION_DELAY_IN_MS, TimeUnit.MILLISECONDS);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index d041279..a948786 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -546,8 +546,7 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 
 // gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
-Schema.instance.updateVersion(); // Ensure we know our own actual 
Schema UUID in preparation for updates
-MigrationManager.passiveAnnounce(Schema.emptyVersion);
+Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own 
actual Schema UUID in preparation for updates
 
 // add rpc listening info
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
@@ -556,7 +555,6 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
 LoadBroadcaster.instance.startBroadcasting();
-MigrationManager.passiveAnnounce(Schema.instance.getVersion());
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RELEASE_VERSION, 
valueFactory.releaseVersion());
 
  

[3/13] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/24154fca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/24154fca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/24154fca

Branch: refs/heads/trunk
Commit: 24154fca1f8873f3aeb1efd65aaa66fac3f862df
Parents: ee0d178 66706d1
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:38 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:38 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/24154fca/CHANGES.txt
--



[8/13] git commit: reduce log spam from invalid counter shards patch by slebresne and jbellis for CASSANDRA-5026

2012-12-08 Thread jbellis
reduce log spam from invalid counter shards
patch by slebresne and jbellis for CASSANDRA-5026


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5b511b62
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b511b62
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b511b62

Branch: refs/heads/cassandra-1.2
Commit: 5b511b62136d3bcb230a282fa433a122d061ee22
Parents: 5e46297
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 09:18:10 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 09:18:10 2012 -0600

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   19 +-
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 23 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 874dbd4..15d63f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.1.8
+ * reduce log spam from invalid counter shards (CASSANDRA-5026)
  * Improve schema propagation performance (CASSANDRA-5025)
  * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
  * Improve error reporting when streaming ranges fail (CASSANDRA-5009)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index edfea0a..ed1fb7e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -19,7 +19,6 @@
 package org.apache.cassandra.db.compaction;
 
 import java.io.File;
-import java.io.IOError;
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.nio.ByteBuffer;
@@ -47,7 +46,6 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.sstable.*;
 import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.io.util.RandomAccessReader;
 import org.apache.cassandra.service.AntiEntropyService;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.service.StorageService;
@@ -77,6 +75,16 @@ public class CompactionManager implements 
CompactionManagerMBean
 public static final int NO_GC = Integer.MIN_VALUE;
 public static final int GC_ALL = Integer.MAX_VALUE;
 
+// A thread local that tells us if the current thread is owned by the 
compaction manager. Used
+// by CounterContext to figure out if it should log a warning for invalid 
counter shards.
+public static final ThreadLocalBoolean isCompactionManager = new 
ThreadLocalBoolean() {
+@Override
+protected Boolean initialValue()
+{
+return false;
+}
+};
+
 /**
  * compactionLock has two purposes:
  * - Special compactions will acquire writelock instead of readlock to 
make sure that all
@@ -931,6 +939,13 @@ public class CompactionManager implements 
CompactionManagerMBean
 return totalCompactionsCompleted;
 }
 
+protected void beforeExecute(Thread t, Runnable r)
+{
+// can't set this in Thread factory, so we do it redundantly here
+isCompactionManager.set(true);
+super.beforeExecute(t, r);
+}
+
 // modified from DebuggableThreadPoolExecutor so that 
CompactionInterruptedExceptions are not logged
 @Override
 public void afterExecute(Runnable r, Throwable t)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/context/CounterContext.java
--
diff --git a/src/java/org/apache/cassandra/db/context/CounterContext.java 
b/src/java/org/apache/cassandra/db/context/CounterContext.java
index d466caa..bbab603 100644
--- a/src/java/org/apache/cassandra/db/context/CounterContext.java
+++ b/src/java/org/apache/cassandra/db/context/CounterContext.java
@@ -27,6 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.DBConstants;
+import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.MarshalException;
 import org.apache.cassandra.utils.Allocator;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -376,14 +377,11 @@ public class CounterContext implements IContext
 

[2/13] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/24154fca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/24154fca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/24154fca

Branch: refs/heads/cassandra-1.2
Commit: 24154fca1f8873f3aeb1efd65aaa66fac3f862df
Parents: ee0d178 66706d1
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:38 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:38 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/24154fca/CHANGES.txt
--



[11/13] git commit: Cleanup from 5025, allow recovering nodes to pull immediately

2012-12-08 Thread jbellis
Cleanup from 5025, allow recovering nodes to pull immediately


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e462979
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e462979
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e462979

Branch: refs/heads/cassandra-1.2.0
Commit: 5e4629793b41674bc4056e87e00eaa6bf30133fa
Parents: f618369
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:23:40 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:29:02 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |4 +---
 2 files changed, 11 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/MigrationManager.java
--
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java 
b/src/java/org/apache/cassandra/service/MigrationManager.java
index 72a9a84..9a82517 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -33,6 +33,9 @@ import java.util.Collection;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,6 +68,10 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 private static final int MIGRATION_REQUEST_RETRIES = 3;
 private static final ByteBuffer LAST_MIGRATION_KEY = 
ByteBufferUtil.bytes(Last Migration);
 
+private static final RuntimeMXBean runtimeMXBean = 
ManagementFactory.getRuntimeMXBean();
+
+public static final int MIGRATION_DELAY_IN_MS = 6;
+
 public void onJoin(InetAddress endpoint, EndpointState epState)
 {}
 
@@ -106,9 +113,9 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 if (Schema.instance.getVersion().equals(theirVersion))
 return;
 
-if (Schema.emptyVersion.equals(Schema.instance.getVersion()))
+if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || 
runtimeMXBean.getUptime()  MIGRATION_DELAY_IN_MS)
 {
-// If we think we may be bootstrapping, submit MigrationTask 
immediately
+// If we think we may be bootstrapping or have recently started, 
submit MigrationTask immediately
 submitMigrationTask(endpoint);
 }
 else
@@ -128,7 +135,7 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 submitMigrationTask(endpoint);
 }
 };
-StorageService.optionalTasks.schedule(runnable, 1, 
TimeUnit.MINUTES);
+StorageService.optionalTasks.schedule(runnable, 
MIGRATION_DELAY_IN_MS, TimeUnit.MILLISECONDS);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index d041279..a948786 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -546,8 +546,7 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 
 // gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
-Schema.instance.updateVersion(); // Ensure we know our own actual 
Schema UUID in preparation for updates
-MigrationManager.passiveAnnounce(Schema.emptyVersion);
+Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own 
actual Schema UUID in preparation for updates
 
 // add rpc listening info
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
@@ -556,7 +555,6 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
 LoadBroadcaster.instance.startBroadcasting();
-MigrationManager.passiveAnnounce(Schema.instance.getVersion());
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RELEASE_VERSION, 

[13/13] git commit: Cleanup from 5025, allow recovering nodes to pull immediately

2012-12-08 Thread jbellis
Cleanup from 5025, allow recovering nodes to pull immediately


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e462979
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e462979
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e462979

Branch: refs/heads/cassandra-1.2
Commit: 5e4629793b41674bc4056e87e00eaa6bf30133fa
Parents: f618369
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Dec 7 17:23:40 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Dec 7 17:29:02 2012 -0600

--
 .../apache/cassandra/service/MigrationManager.java |   13 ++---
 .../apache/cassandra/service/StorageService.java   |4 +---
 2 files changed, 11 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/MigrationManager.java
--
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java 
b/src/java/org/apache/cassandra/service/MigrationManager.java
index 72a9a84..9a82517 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -33,6 +33,9 @@ import java.util.Collection;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,6 +68,10 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 private static final int MIGRATION_REQUEST_RETRIES = 3;
 private static final ByteBuffer LAST_MIGRATION_KEY = 
ByteBufferUtil.bytes(Last Migration);
 
+private static final RuntimeMXBean runtimeMXBean = 
ManagementFactory.getRuntimeMXBean();
+
+public static final int MIGRATION_DELAY_IN_MS = 6;
+
 public void onJoin(InetAddress endpoint, EndpointState epState)
 {}
 
@@ -106,9 +113,9 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 if (Schema.instance.getVersion().equals(theirVersion))
 return;
 
-if (Schema.emptyVersion.equals(Schema.instance.getVersion()))
+if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || 
runtimeMXBean.getUptime()  MIGRATION_DELAY_IN_MS)
 {
-// If we think we may be bootstrapping, submit MigrationTask 
immediately
+// If we think we may be bootstrapping or have recently started, 
submit MigrationTask immediately
 submitMigrationTask(endpoint);
 }
 else
@@ -128,7 +135,7 @@ public class MigrationManager implements 
IEndpointStateChangeSubscriber
 submitMigrationTask(endpoint);
 }
 };
-StorageService.optionalTasks.schedule(runnable, 1, 
TimeUnit.MINUTES);
+StorageService.optionalTasks.schedule(runnable, 
MIGRATION_DELAY_IN_MS, TimeUnit.MILLISECONDS);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e462979/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index d041279..a948786 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -546,8 +546,7 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 
 // gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
-Schema.instance.updateVersion(); // Ensure we know our own actual 
Schema UUID in preparation for updates
-MigrationManager.passiveAnnounce(Schema.emptyVersion);
+Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own 
actual Schema UUID in preparation for updates
 
 // add rpc listening info
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
@@ -556,7 +555,6 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
 LoadBroadcaster.instance.startBroadcasting();
-MigrationManager.passiveAnnounce(Schema.instance.getVersion());
 
Gossiper.instance.addLocalApplicationState(ApplicationState.RELEASE_VERSION, 
valueFactory.releaseVersion());

[10/13] git commit: reduce log spam from invalid counter shards patch by slebresne and jbellis for CASSANDRA-5026

2012-12-08 Thread jbellis
reduce log spam from invalid counter shards
patch by slebresne and jbellis for CASSANDRA-5026


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5b511b62
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b511b62
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b511b62

Branch: refs/heads/cassandra-1.2.0
Commit: 5b511b62136d3bcb230a282fa433a122d061ee22
Parents: 5e46297
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 09:18:10 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 09:18:10 2012 -0600

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   19 +-
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 23 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 874dbd4..15d63f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.1.8
+ * reduce log spam from invalid counter shards (CASSANDRA-5026)
  * Improve schema propagation performance (CASSANDRA-5025)
  * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
  * Improve error reporting when streaming ranges fail (CASSANDRA-5009)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index edfea0a..ed1fb7e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -19,7 +19,6 @@
 package org.apache.cassandra.db.compaction;
 
 import java.io.File;
-import java.io.IOError;
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.nio.ByteBuffer;
@@ -47,7 +46,6 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.sstable.*;
 import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.io.util.RandomAccessReader;
 import org.apache.cassandra.service.AntiEntropyService;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.service.StorageService;
@@ -77,6 +75,16 @@ public class CompactionManager implements 
CompactionManagerMBean
 public static final int NO_GC = Integer.MIN_VALUE;
 public static final int GC_ALL = Integer.MAX_VALUE;
 
+// A thread local that tells us if the current thread is owned by the 
compaction manager. Used
+// by CounterContext to figure out if it should log a warning for invalid 
counter shards.
+public static final ThreadLocalBoolean isCompactionManager = new 
ThreadLocalBoolean() {
+@Override
+protected Boolean initialValue()
+{
+return false;
+}
+};
+
 /**
  * compactionLock has two purposes:
  * - Special compactions will acquire writelock instead of readlock to 
make sure that all
@@ -931,6 +939,13 @@ public class CompactionManager implements 
CompactionManagerMBean
 return totalCompactionsCompleted;
 }
 
+protected void beforeExecute(Thread t, Runnable r)
+{
+// can't set this in Thread factory, so we do it redundantly here
+isCompactionManager.set(true);
+super.beforeExecute(t, r);
+}
+
 // modified from DebuggableThreadPoolExecutor so that 
CompactionInterruptedExceptions are not logged
 @Override
 public void afterExecute(Runnable r, Throwable t)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/context/CounterContext.java
--
diff --git a/src/java/org/apache/cassandra/db/context/CounterContext.java 
b/src/java/org/apache/cassandra/db/context/CounterContext.java
index d466caa..bbab603 100644
--- a/src/java/org/apache/cassandra/db/context/CounterContext.java
+++ b/src/java/org/apache/cassandra/db/context/CounterContext.java
@@ -27,6 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.DBConstants;
+import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.MarshalException;
 import org.apache.cassandra.utils.Allocator;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -376,14 +377,11 @@ public class CounterContext implements IContext
   

[9/13] git commit: reduce log spam from invalid counter shards patch by slebresne and jbellis for CASSANDRA-5026

2012-12-08 Thread jbellis
reduce log spam from invalid counter shards
patch by slebresne and jbellis for CASSANDRA-5026


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5b511b62
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b511b62
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b511b62

Branch: refs/heads/trunk
Commit: 5b511b62136d3bcb230a282fa433a122d061ee22
Parents: 5e46297
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 09:18:10 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 09:18:10 2012 -0600

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   19 +-
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 23 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 874dbd4..15d63f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.1.8
+ * reduce log spam from invalid counter shards (CASSANDRA-5026)
  * Improve schema propagation performance (CASSANDRA-5025)
  * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
  * Improve error reporting when streaming ranges fail (CASSANDRA-5009)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index edfea0a..ed1fb7e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -19,7 +19,6 @@
 package org.apache.cassandra.db.compaction;
 
 import java.io.File;
-import java.io.IOError;
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.nio.ByteBuffer;
@@ -47,7 +46,6 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.sstable.*;
 import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.io.util.RandomAccessReader;
 import org.apache.cassandra.service.AntiEntropyService;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.service.StorageService;
@@ -77,6 +75,16 @@ public class CompactionManager implements 
CompactionManagerMBean
 public static final int NO_GC = Integer.MIN_VALUE;
 public static final int GC_ALL = Integer.MAX_VALUE;
 
+// A thread local that tells us if the current thread is owned by the 
compaction manager. Used
+// by CounterContext to figure out if it should log a warning for invalid 
counter shards.
+public static final ThreadLocalBoolean isCompactionManager = new 
ThreadLocalBoolean() {
+@Override
+protected Boolean initialValue()
+{
+return false;
+}
+};
+
 /**
  * compactionLock has two purposes:
  * - Special compactions will acquire writelock instead of readlock to 
make sure that all
@@ -931,6 +939,13 @@ public class CompactionManager implements 
CompactionManagerMBean
 return totalCompactionsCompleted;
 }
 
+protected void beforeExecute(Thread t, Runnable r)
+{
+// can't set this in Thread factory, so we do it redundantly here
+isCompactionManager.set(true);
+super.beforeExecute(t, r);
+}
+
 // modified from DebuggableThreadPoolExecutor so that 
CompactionInterruptedExceptions are not logged
 @Override
 public void afterExecute(Runnable r, Throwable t)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/context/CounterContext.java
--
diff --git a/src/java/org/apache/cassandra/db/context/CounterContext.java 
b/src/java/org/apache/cassandra/db/context/CounterContext.java
index d466caa..bbab603 100644
--- a/src/java/org/apache/cassandra/db/context/CounterContext.java
+++ b/src/java/org/apache/cassandra/db/context/CounterContext.java
@@ -27,6 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.DBConstants;
+import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.MarshalException;
 import org.apache.cassandra.utils.Allocator;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -376,14 +377,11 @@ public class CounterContext implements IContext
 

[5/13] git commit: merge from 1.1

2012-12-08 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/66706d1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/66706d1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/66706d1c

Branch: refs/heads/cassandra-1.2.0
Commit: 66706d1cc3b60a1ad4265936616972bfd8f20aa0
Parents: bddfa9e 5b511b6
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:27 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:27 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/CHANGES.txt
--
diff --cc CHANGES.txt
index 48ebb87,15d63f0..b92984d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,57 -1,14 +1,59 @@@
 -1.1.8
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 +Merged from 1.1
+  * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
  
+ 
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA-4945)
 + * Fix CQL3 LIMIT (CASSANDRA-4877)
 + * Fix Stress for CQL3 (CASSANDRA-4979)
 + * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
 + * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries 
(CASSANDRA-4915)
 + * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
 + * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
 + * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
 + * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
 + * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
 +   in CQL3 mode (CASSANDRA-4955)
   * add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
   * fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
 +Merged from 1.1:
 + * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 + * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
 + * Fix assertion failure with leveled compaction (CASSANDRA-4799)
 + * Check for null end_token in get_range_slice (CASSANDRA-4804)
 + * Remove all remnants of removed nodes (CASSANDRA-4840)
 + * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
 + * Fix estimated row cache entry size (CASSANDRA-4860)
   * reset getRangeSlice filter after finishing a row for get_paged_slice
 (CASSANDRA-4919)
   * expunge row 

[6/13] git commit: merge from 1.1

2012-12-08 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/66706d1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/66706d1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/66706d1c

Branch: refs/heads/cassandra-1.2
Commit: 66706d1cc3b60a1ad4265936616972bfd8f20aa0
Parents: bddfa9e 5b511b6
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:27 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:27 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/CHANGES.txt
--
diff --cc CHANGES.txt
index 48ebb87,15d63f0..b92984d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,57 -1,14 +1,59 @@@
 -1.1.8
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 +Merged from 1.1
+  * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
  
+ 
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA-4945)
 + * Fix CQL3 LIMIT (CASSANDRA-4877)
 + * Fix Stress for CQL3 (CASSANDRA-4979)
 + * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
 + * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries 
(CASSANDRA-4915)
 + * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
 + * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
 + * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
 + * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
 + * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
 +   in CQL3 mode (CASSANDRA-4955)
   * add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
   * fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
 +Merged from 1.1:
 + * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 + * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
 + * Fix assertion failure with leveled compaction (CASSANDRA-4799)
 + * Check for null end_token in get_range_slice (CASSANDRA-4804)
 + * Remove all remnants of removed nodes (CASSANDRA-4840)
 + * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
 + * Fix estimated row cache entry size (CASSANDRA-4860)
   * reset getRangeSlice filter after finishing a row for get_paged_slice
 (CASSANDRA-4919)
   * expunge row 

[7/13] git commit: reduce log spam from invalid counter shards patch by slebresne and jbellis for CASSANDRA-5026

2012-12-08 Thread jbellis
reduce log spam from invalid counter shards
patch by slebresne and jbellis for CASSANDRA-5026


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5b511b62
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b511b62
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b511b62

Branch: refs/heads/cassandra-1.1
Commit: 5b511b62136d3bcb230a282fa433a122d061ee22
Parents: 5e46297
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 09:18:10 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 09:18:10 2012 -0600

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   19 +-
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 23 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 874dbd4..15d63f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.1.8
+ * reduce log spam from invalid counter shards (CASSANDRA-5026)
  * Improve schema propagation performance (CASSANDRA-5025)
  * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
  * Improve error reporting when streaming ranges fail (CASSANDRA-5009)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index edfea0a..ed1fb7e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -19,7 +19,6 @@
 package org.apache.cassandra.db.compaction;
 
 import java.io.File;
-import java.io.IOError;
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.nio.ByteBuffer;
@@ -47,7 +46,6 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.sstable.*;
 import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.io.util.RandomAccessReader;
 import org.apache.cassandra.service.AntiEntropyService;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.service.StorageService;
@@ -77,6 +75,16 @@ public class CompactionManager implements 
CompactionManagerMBean
 public static final int NO_GC = Integer.MIN_VALUE;
 public static final int GC_ALL = Integer.MAX_VALUE;
 
+// A thread local that tells us if the current thread is owned by the 
compaction manager. Used
+// by CounterContext to figure out if it should log a warning for invalid 
counter shards.
+public static final ThreadLocalBoolean isCompactionManager = new 
ThreadLocalBoolean() {
+@Override
+protected Boolean initialValue()
+{
+return false;
+}
+};
+
 /**
  * compactionLock has two purposes:
  * - Special compactions will acquire writelock instead of readlock to 
make sure that all
@@ -931,6 +939,13 @@ public class CompactionManager implements 
CompactionManagerMBean
 return totalCompactionsCompleted;
 }
 
+protected void beforeExecute(Thread t, Runnable r)
+{
+// can't set this in Thread factory, so we do it redundantly here
+isCompactionManager.set(true);
+super.beforeExecute(t, r);
+}
+
 // modified from DebuggableThreadPoolExecutor so that 
CompactionInterruptedExceptions are not logged
 @Override
 public void afterExecute(Runnable r, Throwable t)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b511b62/src/java/org/apache/cassandra/db/context/CounterContext.java
--
diff --git a/src/java/org/apache/cassandra/db/context/CounterContext.java 
b/src/java/org/apache/cassandra/db/context/CounterContext.java
index d466caa..bbab603 100644
--- a/src/java/org/apache/cassandra/db/context/CounterContext.java
+++ b/src/java/org/apache/cassandra/db/context/CounterContext.java
@@ -27,6 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.DBConstants;
+import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.MarshalException;
 import org.apache.cassandra.utils.Allocator;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -376,14 +377,11 @@ public class CounterContext implements IContext
 

[1/13] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-08 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 5e4629793 - 5b511b621
  refs/heads/cassandra-1.2 ee0d178c6 - 24154fca1
  refs/heads/cassandra-1.2.0 bddfa9e12 - 66706d1cc
  refs/heads/trunk 253a7f028 - e55740885


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5574088
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5574088
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5574088

Branch: refs/heads/trunk
Commit: e557408850524ead54c26980e5cbfa7a92410009
Parents: 253a7f0 24154fc
Author: Jonathan Ellis jbel...@apache.org
Authored: Sat Dec 8 10:19:48 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Sat Dec 8 10:19:48 2012 -0600

--
 CHANGES.txt|2 +
 .../cassandra/db/compaction/CompactionManager.java |   18 +++
 .../cassandra/db/context/CounterContext.java   |   12 -
 3 files changed, 25 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5574088/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5574088/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--



[jira] [Commented] (CASSANDRA-5026) Reduce log spam from counter shard warnings

2012-12-08 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13527185#comment-13527185
 ] 

Jonathan Ellis commented on CASSANDRA-5026:
---

renamed to isCompactionManager, edited log message, and committed

 Reduce log spam from counter shard warnings
 ---

 Key: CASSANDRA-5026
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5026
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.1.8, 1.2.0 rc1

 Attachments: 5026.txt, 5026-v2.txt


 The invalid counter shard warning we can get after unclean shutdown in 
 periodic commitlog mode or after node movement (CASSANDRA-4071) can spam the 
 log hard since it is logged once per read until compaction merges it away.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: ninja-followup 5003

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2.0 66706d1cc - 62b9037d1


ninja-followup 5003


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/62b9037d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/62b9037d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/62b9037d

Branch: refs/heads/cassandra-1.2.0
Commit: 62b9037d1a2baa859b8bef27a4329f60a3bf356b
Parents: 66706d1
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:39:35 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:39:35 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 95312fe..123ffe6 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -24,7 +24,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.QueryProcessor;
-import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.WrappedRunnable;
@@ -45,7 +45,14 @@ public class Auth
 public static boolean isExistingUser(String username)
 {
 String query = String.format(SELECT * FROM %s.%s WHERE name = '%s', 
AUTH_KS, USERS_CF, escape(username));
-return !QueryProcessor.process(query).isEmpty();
+try
+{
+return !QueryProcessor.process(query).isEmpty();
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -57,8 +64,15 @@ public class Auth
 public static boolean isSuperuser(String username)
 {
 String query = String.format(SELECT super FROM %s.%s WHERE name = 
'%s', AUTH_KS, USERS_CF, escape(username));
-UntypedResultSet result = QueryProcessor.process(query);
-return !result.isEmpty()  result.one().getBoolean(super);
+try
+{
+UntypedResultSet result = QueryProcessor.process(query);
+return !result.isEmpty()  result.one().getBoolean(super);
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -67,7 +81,7 @@ public class Auth
  * @param username Username to insert.
  * @param isSuper User's new status.
  */
-public static void insertUser(String username, boolean isSuper)
+public static void insertUser(String username, boolean isSuper) throws 
UnavailableException
 {
 QueryProcessor.process(String.format(INSERT INTO %s.%s (name, super) 
VALUES ('%s', %s),
  AUTH_KS,
@@ -81,7 +95,7 @@ public class Auth
  *
  * @param username Username to delete.
  */
-public static void deleteUser(String username)
+public static void deleteUser(String username) throws UnavailableException
 {
 QueryProcessor.process(String.format(DELETE FROM %s.%s WHERE name = 
'%s',
  AUTH_KS,
@@ -103,7 +117,7 @@ public class Auth
 // schedule seeding a superuser in RING_DELAY milliseconds.
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws InvalidRequestException
+public void runMayThrow() throws UnavailableException
 {
 // insert a default superuser if AUTH_KS.USERS_CF is empty.
 if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index b68f3c2..e172e59 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ 

[2/2] git commit: ninja-followup 5003

2012-12-08 Thread aleksey
ninja-followup 5003


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/62b9037d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/62b9037d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/62b9037d

Branch: refs/heads/cassandra-1.2
Commit: 62b9037d1a2baa859b8bef27a4329f60a3bf356b
Parents: 66706d1
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:39:35 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:39:35 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 95312fe..123ffe6 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -24,7 +24,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.QueryProcessor;
-import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.WrappedRunnable;
@@ -45,7 +45,14 @@ public class Auth
 public static boolean isExistingUser(String username)
 {
 String query = String.format(SELECT * FROM %s.%s WHERE name = '%s', 
AUTH_KS, USERS_CF, escape(username));
-return !QueryProcessor.process(query).isEmpty();
+try
+{
+return !QueryProcessor.process(query).isEmpty();
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -57,8 +64,15 @@ public class Auth
 public static boolean isSuperuser(String username)
 {
 String query = String.format(SELECT super FROM %s.%s WHERE name = 
'%s', AUTH_KS, USERS_CF, escape(username));
-UntypedResultSet result = QueryProcessor.process(query);
-return !result.isEmpty()  result.one().getBoolean(super);
+try
+{
+UntypedResultSet result = QueryProcessor.process(query);
+return !result.isEmpty()  result.one().getBoolean(super);
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -67,7 +81,7 @@ public class Auth
  * @param username Username to insert.
  * @param isSuper User's new status.
  */
-public static void insertUser(String username, boolean isSuper)
+public static void insertUser(String username, boolean isSuper) throws 
UnavailableException
 {
 QueryProcessor.process(String.format(INSERT INTO %s.%s (name, super) 
VALUES ('%s', %s),
  AUTH_KS,
@@ -81,7 +95,7 @@ public class Auth
  *
  * @param username Username to delete.
  */
-public static void deleteUser(String username)
+public static void deleteUser(String username) throws UnavailableException
 {
 QueryProcessor.process(String.format(DELETE FROM %s.%s WHERE name = 
'%s',
  AUTH_KS,
@@ -103,7 +117,7 @@ public class Auth
 // schedule seeding a superuser in RING_DELAY milliseconds.
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws InvalidRequestException
+public void runMayThrow() throws UnavailableException
 {
 // insert a default superuser if AUTH_KS.USERS_CF is empty.
 if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index b68f3c2..e172e59 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -140,7 +140,7 @@ 

[1/2] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 24154fca1 - 0cd66d7dc


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0cd66d7d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0cd66d7d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0cd66d7d

Branch: refs/heads/cassandra-1.2
Commit: 0cd66d7dc7a26390a6154528af000ac0bc7cecae
Parents: 24154fc 62b9037
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:40:30 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:40:30 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--




[1/3] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/trunk e55740885 - ab1078178


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab107817
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab107817
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab107817

Branch: refs/heads/trunk
Commit: ab107817868d95ab926928b43d8acdd0a768f84f
Parents: e557408 0cd66d7
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:41:08 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:41:08 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--




[2/3] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0cd66d7d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0cd66d7d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0cd66d7d

Branch: refs/heads/trunk
Commit: 0cd66d7dc7a26390a6154528af000ac0bc7cecae
Parents: 24154fc 62b9037
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:40:30 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:40:30 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--




[3/3] git commit: ninja-followup 5003

2012-12-08 Thread aleksey
ninja-followup 5003


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/62b9037d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/62b9037d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/62b9037d

Branch: refs/heads/trunk
Commit: 62b9037d1a2baa859b8bef27a4329f60a3bf356b
Parents: 66706d1
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 19:39:35 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 19:39:35 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java   |   28 +++
 .../org/apache/cassandra/cql3/QueryProcessor.java  |6 +++-
 .../cql3/statements/AlterUserStatement.java|3 +-
 .../cql3/statements/CreateUserStatement.java   |3 +-
 .../cql3/statements/DropUserStatement.java |3 +-
 5 files changed, 32 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 95312fe..123ffe6 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -24,7 +24,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.QueryProcessor;
-import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.WrappedRunnable;
@@ -45,7 +45,14 @@ public class Auth
 public static boolean isExistingUser(String username)
 {
 String query = String.format(SELECT * FROM %s.%s WHERE name = '%s', 
AUTH_KS, USERS_CF, escape(username));
-return !QueryProcessor.process(query).isEmpty();
+try
+{
+return !QueryProcessor.process(query).isEmpty();
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -57,8 +64,15 @@ public class Auth
 public static boolean isSuperuser(String username)
 {
 String query = String.format(SELECT super FROM %s.%s WHERE name = 
'%s', AUTH_KS, USERS_CF, escape(username));
-UntypedResultSet result = QueryProcessor.process(query);
-return !result.isEmpty()  result.one().getBoolean(super);
+try
+{
+UntypedResultSet result = QueryProcessor.process(query);
+return !result.isEmpty()  result.one().getBoolean(super);
+}
+catch (UnavailableException e)
+{
+throw new RuntimeException(e);
+}
 }
 
 /**
@@ -67,7 +81,7 @@ public class Auth
  * @param username Username to insert.
  * @param isSuper User's new status.
  */
-public static void insertUser(String username, boolean isSuper)
+public static void insertUser(String username, boolean isSuper) throws 
UnavailableException
 {
 QueryProcessor.process(String.format(INSERT INTO %s.%s (name, super) 
VALUES ('%s', %s),
  AUTH_KS,
@@ -81,7 +95,7 @@ public class Auth
  *
  * @param username Username to delete.
  */
-public static void deleteUser(String username)
+public static void deleteUser(String username) throws UnavailableException
 {
 QueryProcessor.process(String.format(DELETE FROM %s.%s WHERE name = 
'%s',
  AUTH_KS,
@@ -103,7 +117,7 @@ public class Auth
 // schedule seeding a superuser in RING_DELAY milliseconds.
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws InvalidRequestException
+public void runMayThrow() throws UnavailableException
 {
 // insert a default superuser if AUTH_KS.USERS_CF is empty.
 if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62b9037d/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index b68f3c2..e172e59 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -140,7 +140,7 @@ public 

git commit: Catch and log UAE in Auth#setup instead of propagating

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2.0 62b9037d1 - dbbca5e29


Catch and log UAE in Auth#setup instead of propagating


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dbbca5e2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dbbca5e2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dbbca5e2

Branch: refs/heads/cassandra-1.2.0
Commit: dbbca5e296d969550caca3519125dfe9f3f9a657
Parents: 62b9037
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:44:20 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:44:20 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dbbca5e2/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 123ffe6..6791455 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.auth;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
@@ -27,10 +29,11 @@ import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.WrappedRunnable;
 
 public class Auth
 {
+private static final Logger logger = LoggerFactory.getLogger(Auth.class);
+
 public static final String DEFAULT_SUPERUSER_NAME = cassandra;
 
 public static final String AUTH_KS = system_auth;
@@ -115,13 +118,20 @@ public class Auth
 MigrationManager.instance.register(new MigrationListener());
 
 // schedule seeding a superuser in RING_DELAY milliseconds.
-Runnable runnable = new WrappedRunnable()
+Runnable runnable = new Runnable()
 {
-public void runMayThrow() throws UnavailableException
+public void run()
 {
-// insert a default superuser if AUTH_KS.USERS_CF is empty.
-if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
-insertUser(DEFAULT_SUPERUSER_NAME, true);
+try
+{
+// insert a default superuser if AUTH_KS.USERS_CF is empty.
+if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
+insertUser(DEFAULT_SUPERUSER_NAME, true);
+}
+catch (UnavailableException e)
+{
+logger.warn(Skipping default superuser setup: some nodes 
are unavailable);
+}
 }
 };
 StorageService.tasks.schedule(runnable, StorageService.RING_DELAY, 
TimeUnit.MILLISECONDS);



[1/2] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 0cd66d7dc - f56307639


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f5630763
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f5630763
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f5630763

Branch: refs/heads/cassandra-1.2
Commit: f5630763986254d15560cf96e8e51b10a708c5b0
Parents: 0cd66d7 dbbca5e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:47:35 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:47:35 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--




[2/2] git commit: Catch and log UAE in Auth#setup instead of propagating

2012-12-08 Thread aleksey
Catch and log UAE in Auth#setup instead of propagating


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dbbca5e2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dbbca5e2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dbbca5e2

Branch: refs/heads/cassandra-1.2
Commit: dbbca5e296d969550caca3519125dfe9f3f9a657
Parents: 62b9037
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:44:20 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:44:20 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dbbca5e2/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 123ffe6..6791455 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.auth;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
@@ -27,10 +29,11 @@ import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.WrappedRunnable;
 
 public class Auth
 {
+private static final Logger logger = LoggerFactory.getLogger(Auth.class);
+
 public static final String DEFAULT_SUPERUSER_NAME = cassandra;
 
 public static final String AUTH_KS = system_auth;
@@ -115,13 +118,20 @@ public class Auth
 MigrationManager.instance.register(new MigrationListener());
 
 // schedule seeding a superuser in RING_DELAY milliseconds.
-Runnable runnable = new WrappedRunnable()
+Runnable runnable = new Runnable()
 {
-public void runMayThrow() throws UnavailableException
+public void run()
 {
-// insert a default superuser if AUTH_KS.USERS_CF is empty.
-if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
-insertUser(DEFAULT_SUPERUSER_NAME, true);
+try
+{
+// insert a default superuser if AUTH_KS.USERS_CF is empty.
+if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
+insertUser(DEFAULT_SUPERUSER_NAME, true);
+}
+catch (UnavailableException e)
+{
+logger.warn(Skipping default superuser setup: some nodes 
are unavailable);
+}
 }
 };
 StorageService.tasks.schedule(runnable, StorageService.RING_DELAY, 
TimeUnit.MILLISECONDS);



[1/3] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-08 Thread aleksey
Updated Branches:
  refs/heads/trunk ab1078178 - eb1e1b0d4


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb1e1b0d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb1e1b0d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb1e1b0d

Branch: refs/heads/trunk
Commit: eb1e1b0d47229d835354fdac384818694658cc30
Parents: ab10781 f563076
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:48:39 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:48:39 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--




[2/3] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-08 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f5630763
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f5630763
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f5630763

Branch: refs/heads/trunk
Commit: f5630763986254d15560cf96e8e51b10a708c5b0
Parents: 0cd66d7 dbbca5e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:47:35 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:47:35 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--




[3/3] git commit: Catch and log UAE in Auth#setup instead of propagating

2012-12-08 Thread aleksey
Catch and log UAE in Auth#setup instead of propagating


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dbbca5e2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dbbca5e2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dbbca5e2

Branch: refs/heads/trunk
Commit: dbbca5e296d969550caca3519125dfe9f3f9a657
Parents: 62b9037
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat Dec 8 20:44:20 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat Dec 8 20:44:20 2012 +0300

--
 src/java/org/apache/cassandra/auth/Auth.java |   22 +++-
 1 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dbbca5e2/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 123ffe6..6791455 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.auth;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.cql3.UntypedResultSet;
@@ -27,10 +29,11 @@ import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.exceptions.UnavailableException;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.WrappedRunnable;
 
 public class Auth
 {
+private static final Logger logger = LoggerFactory.getLogger(Auth.class);
+
 public static final String DEFAULT_SUPERUSER_NAME = cassandra;
 
 public static final String AUTH_KS = system_auth;
@@ -115,13 +118,20 @@ public class Auth
 MigrationManager.instance.register(new MigrationListener());
 
 // schedule seeding a superuser in RING_DELAY milliseconds.
-Runnable runnable = new WrappedRunnable()
+Runnable runnable = new Runnable()
 {
-public void runMayThrow() throws UnavailableException
+public void run()
 {
-// insert a default superuser if AUTH_KS.USERS_CF is empty.
-if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
-insertUser(DEFAULT_SUPERUSER_NAME, true);
+try
+{
+// insert a default superuser if AUTH_KS.USERS_CF is empty.
+if (QueryProcessor.process(String.format(SELECT * FROM 
%s.%s, AUTH_KS, USERS_CF)).isEmpty())
+insertUser(DEFAULT_SUPERUSER_NAME, true);
+}
+catch (UnavailableException e)
+{
+logger.warn(Skipping default superuser setup: some nodes 
are unavailable);
+}
 }
 };
 StorageService.tasks.schedule(runnable, StorageService.RING_DELAY, 
TimeUnit.MILLISECONDS);



[jira] [Commented] (CASSANDRA-4400) Correctly catch exception when Snappy cannot be loaded

2012-12-08 Thread Drew Kutcharian (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-4400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13527231#comment-13527231
 ] 

Drew Kutcharian commented on CASSANDRA-4400:


Is there a reason Cassandra's not using the pure Java version of Snappy? 
https://github.com/dain/snappy
The performance numbers are very similar. 
https://github.com/ning/jvm-compressor-benchmark/wiki

 Correctly catch exception when Snappy cannot be loaded
 --

 Key: CASSANDRA-4400
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4400
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.1
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.1.3

 Attachments: 4400.txt


 From the mailing list, on C* 1.1.1:
 {noformat}
 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.clinit(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.clinit(SnappyCompressor.java:37)
 at org.apache.cassandra.config.CFMetaData.clinit(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.clinit(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.clinit(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.clinit(SnappyCompressor.java:37)
 at org.apache.cassandra.config.CFMetaData.clinit(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.clinit(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.clinit(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.clinit(SnappyCompressor.java:37)
 at org.apache.cassandra.config.CFMetaData.clinit(CFMetaData.java:76)
 at 
 org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79)
 at 
 org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439)
  

[jira] [Updated] (CASSANDRA-4984) error opening data file at startup

2012-12-08 Thread Carl Yeksigian (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-4984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carl Yeksigian updated CASSANDRA-4984:
--

Attachment: 4984.patch

 error opening data file at startup
 --

 Key: CASSANDRA-4984
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4984
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.6
 Environment: Oracle Java 1.6u37
Reporter: Zenek Kraweznik
 Attachments: 4984.patch


 I've found this in logfile, this happens at cassandra startup:
 INFO 10:06:13,670 Opening 
 /var/lib/cassandra/data/MYKSPC/MYCF/MYKSPC-MYCF-hf-5547 (1073761823 bytes)
 ERROR 10:06:13,670 Exception in thread Thread[SSTableBatchOpen:3,5,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:166)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:153)
 at 
 org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:242)
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 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)
 Every CF in this Keyspace has cashing set to 'NONE'

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5046) cqlsh doesn't show correct timezone when SELECTing a column of type TIMESTAMP

2012-12-08 Thread B. Todd Burruss (JIRA)
B. Todd Burruss created CASSANDRA-5046:
--

 Summary: cqlsh doesn't show correct timezone when SELECTing a 
column of type TIMESTAMP
 Key: CASSANDRA-5046
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5046
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 3, 1.1.6
 Environment: cassandra 1.1.6 (DSE 2.2.1) or cassandra RC1 (from tip)
Reporter: B. Todd Burruss
Priority: Minor


trying to figure out if i'm doing something wrong or a bug.  i am
creating a simple schema, inserting a timestamp using ISO8601 format,
but when retrieving the timestamp, the timezone is displayed
incorrectly.  i'm inserting using GMT, the result is shown with
+, but the time is for my local timezone (-0800)

tried with 1.1.6 (DSE 2.2.1), and 1.2.0-rc1-SNAPSHOT

here's the trace:

bin/cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 2.3.0 | Cassandra 1.2.0-rc1-SNAPSHOT | CQL spec 3.0.0 | Thrift
protocol 19.35.0]
Use HELP for help.
cqlsh CREATE KEYSPACE btoddb WITH replication =
{'class':'SimpleStrategy', 'replication_factor':1};
cqlsh
cqlsh USE btoddb;
cqlsh:btoddb CREATE TABLE test (
  ...   id uuid PRIMARY KEY,
  ...   ts TIMESTAMP
  ... );
cqlsh:btoddb
cqlsh:btoddb INSERT INTO test
  ...   (id, ts)
  ...   values (
  ... '89d09c88-40ac-11e2-a1e2-6067201fae78',
  ... '2012-12-07T10:00:00-'
  ...   );
cqlsh:btoddb
cqlsh:btoddb SELECT * FROM test;

 id   | ts
--+--
 89d09c88-40ac-11e2-a1e2-6067201fae78 | 2012-12-07 02:00:00+

cqlsh:btoddb

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira