You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2015/04/10 05:16:10 UTC
[1/5] cassandra git commit: Add missing follow on fix for 7816 only
applied to cassandra-2.1 branch in 763130bdbde2f4cec2e8973bcd5203caf51cc89f
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 28865c27c -> 7323f51e8
refs/heads/trunk 9e7774ac7 -> 7e25f3bc0
Add missing follow on fix for 7816 only applied to cassandra-2.1 branch in 763130bdbde2f4cec2e8973bcd5203caf51cc89f
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/def4835e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/def4835e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/def4835e
Branch: refs/heads/trunk
Commit: def4835e6b7de2b6523e2f69f53d9070e4a54a6c
Parents: b24bd08
Author: T Jake Luciani <ja...@apache.org>
Authored: Thu Apr 9 09:14:30 2015 -0400
Committer: T Jake Luciani <ja...@apache.org>
Committed: Thu Apr 9 09:25:06 2015 -0400
----------------------------------------------------------------------
src/java/org/apache/cassandra/gms/EndpointState.java | 12 ------------
src/java/org/apache/cassandra/gms/Gossiper.java | 12 ++----------
src/java/org/apache/cassandra/transport/Server.java | 11 +++++++++--
3 files changed, 11 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/def4835e/src/java/org/apache/cassandra/gms/EndpointState.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/EndpointState.java b/src/java/org/apache/cassandra/gms/EndpointState.java
index 518e575..3df9155 100644
--- a/src/java/org/apache/cassandra/gms/EndpointState.java
+++ b/src/java/org/apache/cassandra/gms/EndpointState.java
@@ -46,14 +46,12 @@ public class EndpointState
/* fields below do not get serialized */
private volatile long updateTimestamp;
private volatile boolean isAlive;
- private volatile boolean hasPendingEcho;
EndpointState(HeartBeatState initialHbState)
{
hbState = initialHbState;
updateTimestamp = System.nanoTime();
isAlive = true;
- hasPendingEcho = false;
}
HeartBeatState getHeartBeatState()
@@ -115,16 +113,6 @@ public class EndpointState
isAlive = false;
}
- public boolean hasPendingEcho()
- {
- return hasPendingEcho;
- }
-
- public void markPendingEcho(boolean val)
- {
- hasPendingEcho = val;
- }
-
public String toString()
{
return "EndpointState: HeartBeatState = " + hbState + ", AppStateMap = " + applicationState;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/def4835e/src/java/org/apache/cassandra/gms/Gossiper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java
index 97dc506..962a358 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -877,12 +877,6 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean
return;
}
- if (localState.hasPendingEcho())
- {
- logger.debug("{} has already a pending echo, skipping it", localState);
- return;
- }
-
localState.markDead();
MessageOut<EchoMessage> echoMessage = new MessageOut<EchoMessage>(MessagingService.Verb.ECHO, new EchoMessage(), EchoMessage.serializer);
@@ -896,19 +890,17 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean
public void response(MessageIn msg)
{
- localState.markPendingEcho(false);
realMarkAlive(addr, localState);
}
};
- localState.markPendingEcho(true);
MessagingService.instance().sendRR(echoMessage, addr, echoHandler);
}
private void realMarkAlive(final InetAddress addr, final EndpointState localState)
{
if (logger.isTraceEnabled())
- logger.trace("marking as alive {}", addr);
+ logger.trace("marking as alive {}", addr);
localState.markAlive();
localState.updateTimestamp(); // prevents doStatusCheck from racing us and evicting if it was down > aVeryLongTime
liveEndpoints.add(addr);
@@ -919,7 +911,7 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean
for (IEndpointStateChangeSubscriber subscriber : subscribers)
subscriber.onAlive(addr, localState);
if (logger.isTraceEnabled())
- logger.trace("Notified " + subscribers);
+ logger.trace("Notified " + subscribers);
}
private void markDead(InetAddress addr, EndpointState localState)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/def4835e/src/java/org/apache/cassandra/transport/Server.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Server.java b/src/java/org/apache/cassandra/transport/Server.java
index 30b8a9d..d5a5d0c 100644
--- a/src/java/org/apache/cassandra/transport/Server.java
+++ b/src/java/org/apache/cassandra/transport/Server.java
@@ -22,7 +22,9 @@ import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.EnumMap;
+import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.net.ssl.SSLContext;
@@ -318,6 +320,7 @@ public class Server implements CassandraDaemon.Server
private static class EventNotifier implements IEndpointLifecycleSubscriber, IMigrationListener
{
private final Server server;
+ private final Map<InetAddress, Event.StatusChange.Status> lastStatusChange = new ConcurrentHashMap<>();
private static final InetAddress bindAll;
static {
try
@@ -370,12 +373,16 @@ public class Server implements CassandraDaemon.Server
public void onUp(InetAddress endpoint)
{
- server.connectionTracker.send(Event.StatusChange.nodeUp(getRpcAddress(endpoint), server.socket.getPort()));
+ Event.StatusChange.Status prev = lastStatusChange.put(endpoint, Event.StatusChange.Status.UP);
+ if (prev == null || prev != Event.StatusChange.Status.UP)
+ server.connectionTracker.send(Event.StatusChange.nodeUp(getRpcAddress(endpoint), server.socket.getPort()));
}
public void onDown(InetAddress endpoint)
{
- server.connectionTracker.send(Event.StatusChange.nodeDown(getRpcAddress(endpoint), server.socket.getPort()));
+ Event.StatusChange.Status prev = lastStatusChange.put(endpoint, Event.StatusChange.Status.DOWN);
+ if (prev == null || prev != Event.StatusChange.Status.DOWN)
+ server.connectionTracker.send(Event.StatusChange.nodeDown(getRpcAddress(endpoint), server.socket.getPort()));
}
public void onCreateKeyspace(String ksName)
[5/5] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Posted by yu...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7e25f3bc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7e25f3bc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7e25f3bc
Branch: refs/heads/trunk
Commit: 7e25f3bc08ee81608cb05cc4d6e34797107f7e2f
Parents: 9e7774a 7323f51
Author: Yuki Morishita <yu...@apache.org>
Authored: Thu Apr 9 22:05:49 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Thu Apr 9 22:05:49 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/db/Directories.java | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e25f3bc/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e25f3bc/src/java/org/apache/cassandra/db/Directories.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/Directories.java
index 76171f0,2e0b60c..d1c6500
--- a/src/java/org/apache/cassandra/db/Directories.java
+++ b/src/java/org/apache/cassandra/db/Directories.java
@@@ -193,7 -191,6 +193,8 @@@ public class Directorie
this.dataPaths = new File[dataDirectories.length];
// If upgraded from version less than 2.1, use existing directories
- String oldSSTableRelativePath = join(metadata.ksName, metadata.cfName);
++ String oldSSTableRelativePath = join(metadata.ksName,
++ idx > 0 ? metadata.cfName.substring(0, idx) : metadata.cfName);
for (int i = 0; i < dataDirectories.length; ++i)
{
// check if old SSTable directory exists
[2/5] cassandra git commit: Merge branch 'cassandra-2.0' into
cassandra-2.1
Posted by yu...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28865c27
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28865c27
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28865c27
Branch: refs/heads/trunk
Commit: 28865c27c1bd0a473f0fd79fab300c38c332f130
Parents: 7b83334 def4835
Author: T Jake Luciani <ja...@apache.org>
Authored: Thu Apr 9 09:27:17 2015 -0400
Committer: T Jake Luciani <ja...@apache.org>
Committed: Thu Apr 9 09:27:17 2015 -0400
----------------------------------------------------------------------
----------------------------------------------------------------------
[4/5] cassandra git commit: Correctly identify 2i datadir from older
versions
Posted by yu...@apache.org.
Correctly identify 2i datadir from older versions
patch by Sam Tunnicliffe; reviewed by yukim for CASSANDRA-9116
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7323f51e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7323f51e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7323f51e
Branch: refs/heads/cassandra-2.1
Commit: 7323f51e8e1bebc1abeb96141f350721033e4c96
Parents: 28865c2
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Tue Apr 7 16:48:56 2015 +0100
Committer: Yuki Morishita <yu...@apache.org>
Committed: Thu Apr 9 22:00:42 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/db/Directories.java | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7323f51e/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 41118b5..5427ce5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -72,6 +72,7 @@
* Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
* Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
* Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
+ * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
Merged from 2.0:
* Flush system.IndexInfo after marking index built (CASSANDRA-9128)
* Fix updates to min/max_compaction_threshold through cassandra-cli
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7323f51e/src/java/org/apache/cassandra/db/Directories.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java
index 7bb7e2e..2e0b60c 100644
--- a/src/java/org/apache/cassandra/db/Directories.java
+++ b/src/java/org/apache/cassandra/db/Directories.java
@@ -194,7 +194,9 @@ public class Directories
for (int i = 0; i < dataDirectories.length; ++i)
{
// check if old SSTable directory exists
- dataPaths[i] = new File(dataDirectories[i].location, join(metadata.ksName, metadata.cfName));
+ dataPaths[i] = new File(dataDirectories[i].location,
+ join(metadata.ksName,
+ idx > 0 ? metadata.cfName.substring(0, idx) : metadata.cfName));
}
boolean olderDirectoryExists = Iterables.any(Arrays.asList(dataPaths), new Predicate<File>()
{
[3/5] cassandra git commit: Correctly identify 2i datadir from older
versions
Posted by yu...@apache.org.
Correctly identify 2i datadir from older versions
patch by Sam Tunnicliffe; reviewed by yukim for CASSANDRA-9116
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7323f51e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7323f51e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7323f51e
Branch: refs/heads/trunk
Commit: 7323f51e8e1bebc1abeb96141f350721033e4c96
Parents: 28865c2
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Tue Apr 7 16:48:56 2015 +0100
Committer: Yuki Morishita <yu...@apache.org>
Committed: Thu Apr 9 22:00:42 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/db/Directories.java | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7323f51e/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 41118b5..5427ce5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -72,6 +72,7 @@
* Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
* Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
* Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
+ * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
Merged from 2.0:
* Flush system.IndexInfo after marking index built (CASSANDRA-9128)
* Fix updates to min/max_compaction_threshold through cassandra-cli
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7323f51e/src/java/org/apache/cassandra/db/Directories.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java
index 7bb7e2e..2e0b60c 100644
--- a/src/java/org/apache/cassandra/db/Directories.java
+++ b/src/java/org/apache/cassandra/db/Directories.java
@@ -194,7 +194,9 @@ public class Directories
for (int i = 0; i < dataDirectories.length; ++i)
{
// check if old SSTable directory exists
- dataPaths[i] = new File(dataDirectories[i].location, join(metadata.ksName, metadata.cfName));
+ dataPaths[i] = new File(dataDirectories[i].location,
+ join(metadata.ksName,
+ idx > 0 ? metadata.cfName.substring(0, idx) : metadata.cfName));
}
boolean olderDirectoryExists = Iterables.any(Arrays.asList(dataPaths), new Predicate<File>()
{