You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2022/02/16 10:21:45 UTC

[cassandra] branch cassandra-3.11 updated (0218d1f -> eeec360)

This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


    from 0218d1f  Merge branch 'cassandra-3.0' into cassandra-3.11
     new 85c202d  Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction
     new eeec360  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt                                        |  2 +
 .../org/apache/cassandra/db/lifecycle/LogFile.java | 24 +++++----
 .../cassandra/db/lifecycle/LogTransactionTest.java | 60 ++++++++++++++++++----
 3 files changed, 65 insertions(+), 21 deletions(-)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit eeec360e757c191c517ddb51154c7c4f8d283d88
Merge: 0218d1f 85c202d
Author: Marcus Eriksson <ma...@apache.org>
AuthorDate: Wed Feb 16 10:14:41 2022 +0100

    Merge branch 'cassandra-3.0' into cassandra-3.11

 CHANGES.txt                                        |  2 +
 .../org/apache/cassandra/db/lifecycle/LogFile.java | 24 +++++----
 .../cassandra/db/lifecycle/LogTransactionTest.java | 60 ++++++++++++++++++----
 3 files changed, 65 insertions(+), 21 deletions(-)

diff --cc CHANGES.txt
index c166202,527450d..402048f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,7 +1,21 @@@
 -3.0.27
 +3.11.13
++Merged from 3.0:
+  * Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction (CASSANDRA-17273)
  
 -3.0.26
 +
 +3.11.12
 + * Upgrade snakeyaml to 1.26 in 3.11 (CASSANDRA=17028)
 + * Add key validation to ssstablescrub (CASSANDRA-16969)
 + * Update Jackson from 2.9.10 to 2.12.5 (CASSANDRA-16851)
 + * Include SASI components to snapshots (CASSANDRA-15134)
 + * Make assassinate more resilient to missing tokens (CASSANDRA-16847)
 + * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
 + * Validate SASI tokenizer options before adding index to schema (CASSANDRA-15135)
 + * Fixup scrub output when no data post-scrub and clear up old use of row, which really means partition (CASSANDRA-16835)
 + * Fix ant-junit dependency issue (CASSANDRA-16827)
 + * Reduce thread contention in CommitLogSegment and HintsBuffer (CASSANDRA-16072)
 + * Avoid sending CDC column if not enabled (CASSANDRA-16770)
 +Merged from 3.0:
   * Fix conversion from megabits to bytes in streaming rate limiter (CASSANDRA-17243)
   * Upgrade logback to 1.2.9 (CASSANDRA-17204)
   * Avoid race in AbstractReplicationStrategy endpoint caching (CASSANDRA-16673)
diff --cc src/java/org/apache/cassandra/db/lifecycle/LogFile.java
index 39bfaa9,42d81ca..3550d66
--- a/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
+++ b/src/java/org/apache/cassandra/db/lifecycle/LogFile.java
@@@ -345,11 -341,15 +342,15 @@@ final class LogFile implements AutoClos
      private LogRecord makeRecord(Type type, SSTable table, LogRecord record)
      {
          assert type == Type.ADD || type == Type.REMOVE;
+         maybeCreateReplica(table);
+         return record.asType(type);
+     }
  
-         File directory = table.descriptor.directory;
+     private void maybeCreateReplica(SSTable sstable)
+     {
 -        File folder = sstable.descriptor.directory;
 -        String fileName = getFileName(folder);
 -        replicas.maybeCreateReplica(folder, fileName, onDiskRecords);
++        File directory = sstable.descriptor.directory;
 +        String fileName = StringUtils.join(directory, File.separator, getFileName());
-         replicas.maybeCreateReplica(directory, fileName, records);
-         return record.asType(type);
++        replicas.maybeCreateReplica(directory, fileName, onDiskRecords);
      }
  
      void addRecord(LogRecord record)
diff --cc test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java
index c727241,6fb2334..09c75e1
--- a/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java
+++ b/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java
@@@ -44,15 -44,18 +44,16 @@@ import org.apache.cassandra.MockSchema
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Directories;
  import org.apache.cassandra.db.SerializationHeader;
- import org.apache.cassandra.db.compaction.*;
- import org.apache.cassandra.io.sstable.*;
+ import org.apache.cassandra.db.compaction.OperationType;
+ import org.apache.cassandra.io.sstable.Component;
+ import org.apache.cassandra.io.sstable.Descriptor;
 +import org.apache.cassandra.io.sstable.format.SSTableFormat;
  import org.apache.cassandra.io.sstable.format.SSTableReader;
  import org.apache.cassandra.io.sstable.metadata.MetadataCollector;
  import org.apache.cassandra.io.sstable.metadata.MetadataType;
  import org.apache.cassandra.io.sstable.metadata.StatsMetadata;
- import org.apache.cassandra.io.util.FileUtils;
 -import org.apache.cassandra.io.util.BufferedSegmentedFile;
 -import org.apache.cassandra.io.util.ChannelProxy;
 +import org.apache.cassandra.io.util.FileHandle;
+ import org.apache.cassandra.io.util.FileUtils;
 -import org.apache.cassandra.io.util.RandomAccessReader;
 -import org.apache.cassandra.io.util.SegmentedFile;
  import org.apache.cassandra.utils.AlwaysPresentFilter;
  import org.apache.cassandra.utils.concurrent.AbstractTransactionalTest;
  import org.apache.cassandra.utils.concurrent.Transactional;

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org