mirror of https://github.com/apache/cassandra
remove COPP
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2479
This commit is contained in:
parent
76d97db020
commit
604a38645c
|
|
@ -1,4 +1,5 @@
|
|||
1.2-dev
|
||||
* remove COPP (CASSANDRA-2479)
|
||||
* Track tombstone expiration and compact when tombstone content is
|
||||
higher than a configurable threshold, default 20% (CASSANDRA-3442)
|
||||
* update MurmurHash to version 3 (CASSANDRA-2975)
|
||||
|
|
|
|||
3
NEWS.txt
3
NEWS.txt
|
|
@ -30,6 +30,9 @@ Upgrading
|
|||
incompatible with the earlier `nodetool removetoken`, and attempts to
|
||||
remove nodes in this way with a mixed 1.1 (or lower) / 1.2 cluster,
|
||||
is not supported.
|
||||
- The somewhat ill-concieved CollatingOrderPreservingPartitioner
|
||||
has been removed. Use RandomPartitioner (recommended) or
|
||||
ByteOrderedPartitioner instead.
|
||||
|
||||
|
||||
1.1.1
|
||||
|
|
|
|||
|
|
@ -1,51 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.cassandra.dht;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.CharacterCodingException;
|
||||
import java.text.Collator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.cassandra.utils.ByteBufferUtil;
|
||||
|
||||
public class CollatingOrderPreservingPartitioner extends AbstractByteOrderedPartitioner
|
||||
{
|
||||
static final Collator collator = Collator.getInstance(new Locale("en", "US"));
|
||||
|
||||
public BytesToken getToken(ByteBuffer key)
|
||||
{
|
||||
if (key.remaining() == 0)
|
||||
return MINIMUM;
|
||||
|
||||
String skey;
|
||||
try
|
||||
{
|
||||
skey = ByteBufferUtil.string(key);
|
||||
}
|
||||
catch (CharacterCodingException e)
|
||||
{
|
||||
throw new RuntimeException("The provided key was not UTF8 encoded.", e);
|
||||
}
|
||||
return new BytesToken(ByteBuffer.wrap(collator.getCollationKey(skey).toByteArray()));
|
||||
}
|
||||
|
||||
public Map<Token, Float> describeOwnership(List<Token> sortedTokens){ throw new UnsupportedOperationException(); }
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ cluster_name: Test Cluster
|
|||
in_memory_compaction_limit_in_mb: 1
|
||||
commitlog_sync: batch
|
||||
commitlog_sync_batch_window_in_ms: 1.0
|
||||
partitioner: org.apache.cassandra.dht.CollatingOrderPreservingPartitioner
|
||||
partitioner: org.apache.cassandra.dht.ByteOrderedPartitioner
|
||||
rpc_timeout_in_ms: 5000
|
||||
listen_address: 127.0.0.1
|
||||
storage_port: 7010
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.cassandra.dht;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class CollatingOrderPreservingPartitionerTest extends PartitionerTestCase<BytesToken>
|
||||
{
|
||||
public void initPartitioner()
|
||||
{
|
||||
partitioner = new CollatingOrderPreservingPartitioner();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that a non-UTF-8 byte array can still be encoded.
|
||||
*/
|
||||
@Test
|
||||
public void testTokenFactoryStringsNonUTF()
|
||||
{
|
||||
Token.TokenFactory factory = this.partitioner.getTokenFactory();
|
||||
BytesToken tok = new BytesToken(new byte[]{(byte)0xFF, (byte)0xFF});
|
||||
assert tok.compareTo(factory.fromString(factory.toString(tok))) == 0;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompare()
|
||||
{
|
||||
assert tok("").compareTo(tok("asdf")) < 0;
|
||||
assert tok("asdf").compareTo(tok("")) > 0;
|
||||
assert tok("").compareTo(tok("")) == 0;
|
||||
assert tok("z").compareTo(tok("a")) > 0;
|
||||
assert tok("a").compareTo(tok("z")) < 0;
|
||||
assert tok("asdf").compareTo(tok("asdf")) == 0;
|
||||
assert tok("asdz").compareTo(tok("asdf")) > 0;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue