2016-12-19 1 views
-1

Ich versuche, einen Cassandra-Patch (https://issues.apache.org/jira/browse/CASSANDRA-11569) auf Cassandra 3.8 anzuwenden. Ich habe die Quellcode von https://github.com/apache/cassandra/releases/tag/cassandra-3.8 Wenn ich versuche, den Patch git apply CASSANDRA-11569.patch -v mit der Anwendung bekomme ich folgende FehlerFehler beim Anwenden von Cassandra-Patch

Checking patch 

src/java/org/apache/cassandra/metrics/MessagingMetrics.java... 
error: src/java/org/apache/cassandra/metrics/MessagingMetrics.java: already exists in working directory 
Checking patch src/java/org/apache/cassandra/net/IncomingTcpConnection.java... 
error: while searching for: 
     else 
      id = input.readInt(); 

     MessageIn message = MessageIn.read(input, version, id, MessageIn.readTimestamp(input)); 
     if (message == null) 
     { 
      // callback expired; nothing to do 

error: patch failed: src/java/org/apache/cassandra/net/IncomingTcpConnection.java:187 
error: src/java/org/apache/cassandra/net/IncomingTcpConnection.java: patch does not apply 
Checking patch src/java/org/apache/cassandra/net/MessageIn.java... 
error: while searching for: 
     return new ConstructionTime(); 
    } 

    public static ConstructionTime readTimestamp(DataInputPlus input) throws IOException 
    { 
     // make sure to readInt, even if cross_node_to is not enabled 
     int partial = input.readInt(); 
     if(DatabaseDescriptor.hasCrossNodeTimeout()) 
     { 
      long timestamp = System.currentTimeMillis(); 
      long crossNodeTimestamp = (timestamp & 0xFFFFFFFF00000000L) | (((partial & 0xFFFFFFFFL) << 2) >> 2); 
      return new ConstructionTime(crossNodeTimestamp, timestamp != crossNodeTimestamp); 
     } 
     else 

error: patch failed: src/java/org/apache/cassandra/net/MessageIn.java:120 
error: src/java/org/apache/cassandra/net/MessageIn.java: patch does not apply 
Checking patch src/java/org/apache/cassandra/net/MessagingService.java... 
error: while searching for: 
import org.apache.cassandra.locator.ILatencySubscriber; 
import org.apache.cassandra.metrics.ConnectionMetrics; 
import org.apache.cassandra.metrics.DroppedMessageMetrics; 
import org.apache.cassandra.repair.messages.RepairMessage; 
import org.apache.cassandra.security.SSLFactory; 
import org.apache.cassandra.service.*; 

error: patch failed: src/java/org/apache/cassandra/net/MessagingService.java:67 
error: src/java/org/apache/cassandra/net/MessagingService.java: patch does not apply 

Kann jemand bitte erklären, was hier das Problem sein könnte?

Antwort

4

Sie müssen diesen Patch nicht auf Cassandra 3.8 anwenden. 3.8 hat bereits den Patch angewendet.

konnte mit dem JMX Zugang von dem org.apache.cassandra.metrics:type=Messaging,name=* MBeans, zum Beispiel mit SJK

> java -jar sjk.jar mx -s localhost:7199 -mg -all -b org.apache.cassandra.metrics:type=Messaging,name=* -f Mean 

org.apache.cassandra.metrics:type=Messaging,name=dc2-Latency 
1539.538401853893 
org.apache.cassandra.metrics:type=Messaging,name=CrossNodeLatency 
1539.5348413569534 
org.apache.cassandra.metrics:type=Messaging,name=dc1-Latency 
1131.752 
+0

Danke. Weißt du, wie ich in Cassandra 3.8 die cross-Rechenzentrumslatenz-Metrik erhalten konnte? – Kapil

+1

aktualisiert mit Beispiel, kann mit jedem jmx-Tool darauf zugreifen. Kann auch den [cassandra metric reporter] konfigurieren (http://www.datastax.com/dev/blog/pluggable-metrics-reporting-in-cassandra-2-0-2) –

Verwandte Themen