Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/983c72a8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/983c72a8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/983c72a8 Branch: refs/heads/cassandra-3.11 Commit: 983c72a84ab6628e09a78ead9e20a0c323a005af Parents: 9d56132 b32a9e6 Author: Marcus Eriksson <[email protected]> Authored: Mon Oct 2 09:34:49 2017 +0200 Committer: Marcus Eriksson <[email protected]> Committed: Mon Oct 2 09:34:49 2017 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/cassandra/db/lifecycle/Helpers.java | 15 +++++ .../apache/cassandra/db/lifecycle/LogFile.java | 26 ++++++++ .../cassandra/db/lifecycle/LogRecord.java | 65 +++++++++++++++++++- .../cassandra/db/lifecycle/LogTransaction.java | 16 +++++ .../apache/cassandra/db/lifecycle/Tracker.java | 2 +- .../cassandra/db/lifecycle/HelpersTest.java | 58 ++++++++++++++++- 7 files changed, 180 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 264887b,d6423b4..aca219e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,17 -1,5 +1,18 @@@ -3.0.15 +3.11.1 + * Fix the computation of cdc_total_space_in_mb for exabyte filesystems (CASSANDRA-13808) + * AbstractTokenTreeBuilder#serializedSize returns wrong value when there is a single leaf and overflow collisions (CASSANDRA-13869) + * Add a compaction option to TWCS to ignore sstables overlapping checks (CASSANDRA-13418) + * BTree.Builder memory leak (CASSANDRA-13754) + * Revert CASSANDRA-10368 of supporting non-pk column filtering due to correctness (CASSANDRA-13798) + * Add a skip read validation flag to cassandra-stress (CASSANDRA-13772) + * Fix cassandra-stress hang issues when an error during cluster connection happens (CASSANDRA-12938) + * Better bootstrap failure message when blocked by (potential) range movement (CASSANDRA-13744) + * "ignore" option is ignored in sstableloader (CASSANDRA-13721) + * Deadlock in AbstractCommitLogSegmentManager (CASSANDRA-13652) + * Duplicate the buffer before passing it to analyser in SASI operation (CASSANDRA-13512) + * Properly evict pstmts from prepared statements cache (CASSANDRA-13641) +Merged from 3.0: + * Improve TRUNCATE performance (CASSANDRA-13909) * Implement short read protection on partition boundaries (CASSANDRA-13595) * Fix ISE thrown by UPI.Serializer.hasNext() for some SELECT queries (CASSANDRA-13911) * Filter header only commit logs before recovery (CASSANDRA-13918) http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/src/java/org/apache/cassandra/db/lifecycle/LogFile.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/lifecycle/LogFile.java index 9691ee9,be26163..123dd8a --- a/src/java/org/apache/cassandra/db/lifecycle/LogFile.java +++ b/src/java/org/apache/cassandra/db/lifecycle/LogFile.java @@@ -285,6 -285,25 +286,26 @@@ final class LogFile implements AutoClos throw new IllegalStateException(); } + public void addAll(Type type, Iterable<SSTableReader> toBulkAdd) + { + for (LogRecord record : makeRecords(type, toBulkAdd)) + if (!addRecord(record)) + throw new IllegalStateException(); + } + + private Collection<LogRecord> makeRecords(Type type, Iterable<SSTableReader> tables) + { + assert type == Type.ADD || type == Type.REMOVE; + + for (SSTableReader sstable : tables) + { - File folder = sstable.descriptor.directory; - replicas.maybeCreateReplica(folder, getFileName(folder), records); ++ File directory = sstable.descriptor.directory; ++ String fileName = StringUtils.join(directory, File.separator, getFileName()); ++ replicas.maybeCreateReplica(directory, fileName, records); + } + return LogRecord.make(type, tables); + } + private LogRecord makeRecord(Type type, SSTable table) { assert type == Type.ADD || type == Type.REMOVE; @@@ -417,15 -417,26 +438,20 @@@ return replicas.getFilePaths(); } - private String getFileName(File folder) - { - String fileName = StringUtils.join(BigFormat.latestVersion, - LogFile.SEP, - "txn", - LogFile.SEP, - type.fileName, - LogFile.SEP, - id.toString(), - LogFile.EXT); - return StringUtils.join(folder, File.separator, fileName); - } - - Collection<LogRecord> getRecords() + private String getFileName() { - return records; + return StringUtils.join(BigFormat.latestVersion, + LogFile.SEP, + "txn", + LogFile.SEP, + type.fileName, + LogFile.SEP, + id.toString(), + LogFile.EXT); } + + public boolean isEmpty() + { + return records.isEmpty(); + } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/src/java/org/apache/cassandra/db/lifecycle/Tracker.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/983c72a8/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java ---------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
