remove COPP

patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2479
This commit is contained in:
Jonathan Ellis 2012-06-04 16:43:00 -05:00
parent 76d97db020
commit 604a38645c
5 changed files with 5 additions and 104 deletions

View File

@ -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)

View File

@ -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

View File

@ -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(); }
}

View File

@ -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

View File

@ -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;
}
}