[jira] [Updated] (CASSANDRA-11409) set read repair chance to 0 but find read repair process in trace

2017-05-02 Thread Cameron Zemek (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-11409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cameron Zemek updated CASSANDRA-11409:
--
Priority: Minor  (was: Major)

> set read repair chance to 0 but find read repair process in trace
> -
>
> Key: CASSANDRA-11409
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11409
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Distributed Metadata
> Environment: Cassandra 2.1.13 with centos 7
>Reporter: Ryan Cho
>Priority: Minor
>  Labels: lhf
> Attachments: 螢幕快照 2016-03-23 下午2.06.10.png
>
>
> I have set  dclocal_read_repair_chance and read_repair_chance to 0.0 for one 
> month, but I still find "Read-repair DC_LOCAL" and "Initiating read-repair" 
> activities in system_trace.events, and  query was executed in these two days 
> and long time after set read repair chance to 0.0 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11409) set read repair chance to 0 but find read repair process in trace

2017-05-02 Thread Cameron Zemek (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15994312#comment-15994312
 ] 

Cameron Zemek commented on CASSANDRA-11409:
---

This is not a bug. Its just the setting name is misleading. 
dclocal_read_repair_chance and read_repair_chance don't actually control the 
chance of a read repair; they give a chance for the read executor to involve 
all/dc_local live replicas in a read which in turn will check consistency 
across those replicas.

A read repair happens in either blocking or background process whenever a 
digest mismatch occurs.

{code:title=StorageProxy.java|borderStyle=solid}
private static List fetchRows(List initialCommands, 
ConsistencyLevel consistencyLevel)
throws UnavailableException, ReadTimeoutException
{
 //...
catch (DigestMismatchException ex)
{
Tracing.trace("Digest mismatch: {}", ex);

ReadRepairMetrics.repairedBlocking.mark();

// Do a full data read to resolve the correct response (and 
repair node that need be)
RowDataResolver resolver = new 
RowDataResolver(exec.command.ksName, exec.command.key, exec.command.filter(), 
exec.command.timestamp);
ReadCallback repairHandler = new 
ReadCallback<>(resolver,

   ConsistencyLevel.ALL,

   exec.getContactedReplicas().size(),

   exec.command,

   Keyspace.open(exec.command.getKeyspace()),

   exec.handler.endpoints);

if (repairCommands == null)
{
repairCommands = new ArrayList<>();
repairResponseHandlers = new ArrayList<>();
}
repairCommands.add(exec.command);
repairResponseHandlers.add(repairHandler);

MessageOut message = 
exec.command.createMessage();
for (InetAddress endpoint : exec.getContactedReplicas())
{
Tracing.trace("Enqueuing full data read to {}", 
endpoint);
MessagingService.instance().sendRR(message, endpoint, 
repairHandler);
}
}
{code}

{code:title=ReadCallback.java|borderStyle=solid}
public void response(MessageIn message)
{
resolver.preprocess(message);
int n = waitingFor(message)
  ? recievedUpdater.incrementAndGet(this)
  : received;
if (n >= blockfor && resolver.isDataPresent())
{
condition.signalAll();

// kick off a background digest comparison if this is a result that 
(may have) arrived after
// the original resolve that get() kicks off as soon as the 
condition is signaled
if (blockfor < endpoints.size() && n == endpoints.size())
{
TraceState traceState = Tracing.instance.get();
if (traceState != null)
traceState.trace("Initiating read-repair");
StageManager.getStage(Stage.READ_REPAIR).execute(new 
AsyncRepairRunner(traceState));
}
}
}
{code}

So as you can see by ReadCallback it will wait for all replicas to respond in 
the background and check for digest match and execute read repair if required. 
The read repair chance just includes more replicas for a read request so is 
putting more load on the cluster.

In addition to a misleading setting name the documentation also states 
"Additionally, users should run frequent repairs (which streams data in such a 
way that it does not become comingled), and disable background read repair by 
setting the table’s read_repair_chance and dclocal_read_repair_chance to 0." 
Which as I just explain is false. Setting to 0 just makes it less likely for a 
read repair to occur, it doesn't outright stop it. The only way to avoid read 
repair is reading at LOCAL_ONE or ONE where no digest mismatch can occur.

Therefore my suggestion in regards to this issue is to add better documentation 
on read repairs. 

> set read repair chance to 0 but find read repair process in trace
> -
>
> Key: CASSANDRA-11409
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11409
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Distributed Metadata
> 

[jira] [Updated] (CASSANDRA-13486) Upstream Power arch specific code

2017-05-02 Thread Amitkumar Ghatwal (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amitkumar Ghatwal updated CASSANDRA-13486:
--
 Attachment: CAPI_RowCache_JIRA_Description.doc
Description: 
Hi All/ [~snazy], [~jasobrown] , [~ReiOdaira] ,

As was suggested to my previous JIRA ticket : 
https://issues.apache.org/jira/browse/CASSANDRA-13345 to create a separate 
development branch ( for power -ppc64le ) by forking github/apache/cassandra . 

I have created my own development branch : 
https://github.com/ghatwala/cassandra/tree/ppc64le-CAPI/trunk and pushed in 
power arch specific features of CAPI ( Row Cache ). 

Please refer PR :https://github.com/apache/cassandra/pull/108 to see all the 
code changes for CAPI-Row Cache . Please kindly review the same.

Also please refer to the description document on CAPI-Row Cache.

Regards,
Amit

  was:
Hi All/ [~snazy], [~jasobrown] , [~ReiOdaira] ,

As was suggested to my previous JIRA ticket : 
https://issues.apache.org/jira/browse/CASSANDRA-13345 to create a separate 
development branch ( for power -ppc64le ) by forking github/apache/cassandra . 

I have created my own development branch : 
https://github.com/ghatwala/cassandra/tree/ppc64le-CAPI/trunk and pushed in 
power arch specific features of CAPI ( Row Cache ). 

Please refer PR :https://github.com/apache/cassandra/pull/108 to see all the 
code changes for CAPI-Row Cache . Please kindly review the same.

Regards,
Amit


> Upstream Power arch specific code
> -
>
> Key: CASSANDRA-13486
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13486
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: Amitkumar Ghatwal
> Attachments: CAPI_RowCache_JIRA_Description.doc
>
>
> Hi All/ [~snazy], [~jasobrown] , [~ReiOdaira] ,
> As was suggested to my previous JIRA ticket : 
> https://issues.apache.org/jira/browse/CASSANDRA-13345 to create a separate 
> development branch ( for power -ppc64le ) by forking github/apache/cassandra 
> . 
> I have created my own development branch : 
> https://github.com/ghatwala/cassandra/tree/ppc64le-CAPI/trunk and pushed in 
> power arch specific features of CAPI ( Row Cache ). 
> Please refer PR :https://github.com/apache/cassandra/pull/108 to see all the 
> code changes for CAPI-Row Cache . Please kindly review the same.
> Also please refer to the description document on CAPI-Row Cache.
> Regards,
> Amit



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15994171#comment-15994171
 ] 

mck commented on CASSANDRA-11720:
-

Patch ready.
|| Branch   || Testall  || Dtest ||
| 
[trunk|https://github.com/michaelsembwever/cassandra/commit/f2344741a560c44538e88fb02cffa87f74445c9d]
 | 
[testall|https://circleci.com/gh/michaelsembwever/cassandra/tree/mck%2Ftrunk_11720]
   | 
[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/39/]
 |


(the dtests will take a while, and won't include the new 
[dtest|https://github.com/michaelsembwever/cassandra-dtest/commit/f5267617cb23b8faa968ca2a11ccf49d0725a81d])

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15994168#comment-15994168
 ] 

mck commented on CASSANDRA-11720:
-

[~hnishi], my patch is updated with your modified description. that patch is 
now at 
https://github.com/michaelsembwever/cassandra/commit/f2344741a560c44538e88fb02cffa87f74445c9d


And the dtest patch is here – 
https://github.com/michaelsembwever/cassandra-dtest/commit/f5267617cb23b8faa968ca2a11ccf49d0725a81d

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-12922) Bloom filter miss counts are not measured correctly

2017-05-02 Thread Cameron Zemek (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-12922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15994157#comment-15994157
 ] 

Cameron Zemek commented on CASSANDRA-12922:
---

Is there a patch file? the branch link is dead for me.

> Bloom filter miss counts are not measured correctly
> ---
>
> Key: CASSANDRA-12922
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12922
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Branimir Lambov
>Assignee: Mahdi Mohammadi
>  Labels: lhf
>
> Bloom filter hits and misses are evaluated incorrectly in 
> {{BigTableReader.getPosition}}: we properly record hits, but not misses. In 
> particular, if we don't find a match for a key in the index, which is where 
> almost all non-matches will be rejected, [we don't record a bloom filter 
> false 
> positive|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/format/big/BigTableReader.java#L228].
> This leads to very misleading output from e.g. {{nodetool tablestats}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread Hiroyuki Nishi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15994151#comment-15994151
 ] 

Hiroyuki Nishi commented on CASSANDRA-11720:


[~michaelsembwever]
I'm sorry that you are confused in my English.

Thank you for updating the patch.
I would like to modify the description of setmaxhintwindow additionally as 
follows.
  
https://github.com/yhnishi/cassandra/commit/437c659f13ad430c3cff260aa94ea3f706e464f5

Please let me know what you think.

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Created] (CASSANDRA-13488) token distribution in multi-dc

2017-05-02 Thread vasu (JIRA)
vasu created CASSANDRA-13488:


 Summary: token distribution in multi-dc
 Key: CASSANDRA-13488
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13488
 Project: Cassandra
  Issue Type: Wish
 Environment: QA
Reporter: vasu
Priority: Minor


Hi ,

I have a question regarding token distribution in muti-dc setup.

We are having multi-dc (DC1+DC2) setup with V-nodes enabled.
How token ranges will be distributed in cluster ?

Is complete cluster has completed one token range ?
Or each DC has complete token  range?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Updated] (CASSANDRA-13399) UDA fails without input rows

2017-05-02 Thread Robert Stupp (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Stupp updated CASSANDRA-13399:
-
   Resolution: Fixed
Fix Version/s: (was: 3.11.x)
   3.11.0
   Status: Resolved  (was: Ready to Commit)

Thanks!
Committed as 
[388c961e4bb8f0a414c6aa700c67cd76eaf01046|https://github.com/apache/cassandra/commit/388c961e4bb8f0a414c6aa700c67cd76eaf01046]
 to [cassandra-3.11|https://github.com/apache/cassandra/tree/cassandra-3.11]


> UDA fails without input rows
> 
>
> Key: CASSANDRA-13399
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13399
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: PAF
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.11.0
>
>
> When creating the following user defined AGGREGATION and FUNCTION:
> {code:title=init.cql|borderStyle=solid}
> CREATE FUNCTION state_group_and_total(state map, type uuid)
> RETURNS NULL ON NULL INPUT
> RETURNS map
> LANGUAGE java AS '
> Integer count = (Integer) state.get(type);
> count = (count == null ? 1 : count + 1);
> state.put(type, count);
> return state;
> ';
> CREATE OR REPLACE AGGREGATE group_and_total(uuid)
> SFUNC state_group_and_total
> STYPE map
> INITCOND {};
> {code}
> And creating a statement like:
> {code}
> SELECT group_and_total("id") FROM mytable;
> {code}
> When mytable is empty, it throws the following null assertion
> {code}
> ERROR [Native-Transport-Requests-1] 2017-04-03 07:25:09,787 Message.java:623 
> - Unexpected exception during request; channel = [id: 0xd7d9159b, 
> L:/172.19.0.2:9042 - R:/172.19.0.3:43444]
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.cql3.functions.UDAggregate$2.compute(UDAggregate.java:189)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.AggregateFunctionSelector.getOutput(AggregateFunctionSelector.java:53)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:592)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.getOutputRow(Selection.java:430)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.build(Selection.java:424)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:763)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:400)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:378)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:251)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:79)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:217)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:233) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:517)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:410)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_121]
> at 
> 

[2/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b77e754a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b77e754a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b77e754a

Branch: refs/heads/cassandra-3.11
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


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



[3/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b77e754a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b77e754a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b77e754a

Branch: refs/heads/trunk
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


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



[1/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 6c840c0cd -> b77e754a0
  refs/heads/cassandra-3.11 ca034eacf -> 388c961e4
  refs/heads/trunk d4933a019 -> 675829564


UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b77e754a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b77e754a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b77e754a

Branch: refs/heads/cassandra-3.0
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


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



[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-05-02 Thread snazy
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/388c961e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/388c961e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/388c961e

Branch: refs/heads/cassandra-3.11
Commit: 388c961e4bb8f0a414c6aa700c67cd76eaf01046
Parents: ca034ea b77e754
Author: Robert Stupp 
Authored: Tue May 2 16:12:45 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:45 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/CHANGES.txt
--
diff --cc CHANGES.txt
index 1690e31,19cd39c..3844bfa
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,33 -1,4 +1,34 @@@
 -3.0.14
 +3.11.0
++ * UDA fails without input rows (CASSANDRA-13399)
 + * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 + * V5 protocol flags decoding broken (CASSANDRA-13443)
 + * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
 + * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
 + * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 + * Add charset to Analyser input stream (CASSANDRA-13151)
 + * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 + * cdc column addition strikes again (CASSANDRA-13382)
 + * Fix static column indexes (CASSANDRA-13277)
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern 
(CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound 
(CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range 
(CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type 
(CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 + * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 + * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 + * Tracing payload not passed from QueryMessage to tracing session 
(CASSANDRA-12835)
 +Merged from 3.0:
   * Fail repair if insufficient responses received (CASSANDRA-13397)
   * Fix SSTableLoader fail when the loaded table contains dropped columns 
(CASSANDRA-13276)
   * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
--
diff --cc src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
index 87c955f,96e19de..1a3174c
--- a/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
@@@ -156,21 -150,18 +156,15 @@@ public class UDAggregate extends Abstra
  private long stateFunctionCount;
  private long stateFunctionDuration;
  
 -private ByteBuffer state;
 -{
 -reset();
 -}
 +private Object state;
 +private boolean needsInit = true;
  
 -public void addInput(int protocolVersion, List 
values) throws InvalidRequestException
 +public void addInput(ProtocolVersion protocolVersion, 
List values) throws InvalidRequestException
  {
- if (needsInit)
- {
- state = initcond != null ? 
UDHelper.deserialize(stateTypeCodec, protocolVersion, initcond.duplicate()) : 
null;
- stateFunctionDuration = 0;
- stateFunctionCount = 0;
- needsInit = false;
-   

[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-05-02 Thread snazy
Merge branch 'cassandra-3.11' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67582956
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67582956
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67582956

Branch: refs/heads/trunk
Commit: 6758295648d21cabf2e4f1f4f9f244bf8bd4a8c2
Parents: d4933a0 388c961
Author: Robert Stupp 
Authored: Tue May 2 16:13:09 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:13:09 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/67582956/CHANGES.txt
--
diff --cc CHANGES.txt
index 79ecb99,3844bfa..77edb25
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,66 -1,5 +1,67 @@@
 +4.0
 + * Fix WriteResponseHandlerTest is sensitive to test execution order 
(CASSANDRA-13421)
 + * Improve incremental repair logging (CASSANDRA-13468)
 + * Start compaction when incremental repair finishes (CASSANDRA-13454)
 + * Add repair streaming preview (CASSANDRA-13257)
 + * Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
 + * Change protocol to allow sending key space independent of query string 
(CASSANDRA-10145)
 + * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
 + * Take number of files in L0 in account when estimating remaining compaction 
tasks (CASSANDRA-13354)
 + * Skip building views during base table streams on range movements 
(CASSANDRA-13065)
 + * Improve error messages for +/- operations on maps and tuples 
(CASSANDRA-13197)
 + * Remove deprecated repair JMX APIs (CASSANDRA-11530)
 + * Fix version check to enable streaming keep-alive (CASSANDRA-12929)
 + * Make it possible to monitor an ideal consistency level separate from 
actual consistency level (CASSANDRA-13289)
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers 
(CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService 
(CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files 
(CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair 
(CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 + * Increase commitlog version (CASSANDRA-13161)
 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 + * Refactor ColumnCondition (CASSANDRA-12981)
 + * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 + * Improved compactions metrics (CASSANDRA-13015)
 + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 + * Thrift removal (CASSANDRA-5)
 + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 + * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 + * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 + * Reject invalid replication settings when creating or altering a keyspace 
(CASSANDRA-12681)
 + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter 
(CASSANDRA-12422)
 + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 + * Require forceful decommission if number of nodes is less than replication 
factor (CASSANDRA-12510)
 + * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 + * Log message size in trace message in OutboundTcpConnection 
(CASSANDRA-13028)
 + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 + * Add mutation size and batch metrics 

[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-05-02 Thread snazy
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/388c961e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/388c961e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/388c961e

Branch: refs/heads/trunk
Commit: 388c961e4bb8f0a414c6aa700c67cd76eaf01046
Parents: ca034ea b77e754
Author: Robert Stupp 
Authored: Tue May 2 16:12:45 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:45 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/CHANGES.txt
--
diff --cc CHANGES.txt
index 1690e31,19cd39c..3844bfa
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,33 -1,4 +1,34 @@@
 -3.0.14
 +3.11.0
++ * UDA fails without input rows (CASSANDRA-13399)
 + * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 + * V5 protocol flags decoding broken (CASSANDRA-13443)
 + * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
 + * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
 + * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 + * Add charset to Analyser input stream (CASSANDRA-13151)
 + * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 + * cdc column addition strikes again (CASSANDRA-13382)
 + * Fix static column indexes (CASSANDRA-13277)
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern 
(CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound 
(CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range 
(CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type 
(CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 + * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 + * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 + * Tracing payload not passed from QueryMessage to tracing session 
(CASSANDRA-12835)
 +Merged from 3.0:
   * Fail repair if insufficient responses received (CASSANDRA-13397)
   * Fix SSTableLoader fail when the loaded table contains dropped columns 
(CASSANDRA-13276)
   * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
--
diff --cc src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
index 87c955f,96e19de..1a3174c
--- a/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
@@@ -156,21 -150,18 +156,15 @@@ public class UDAggregate extends Abstra
  private long stateFunctionCount;
  private long stateFunctionDuration;
  
 -private ByteBuffer state;
 -{
 -reset();
 -}
 +private Object state;
 +private boolean needsInit = true;
  
 -public void addInput(int protocolVersion, List 
values) throws InvalidRequestException
 +public void addInput(ProtocolVersion protocolVersion, 
List values) throws InvalidRequestException
  {
- if (needsInit)
- {
- state = initcond != null ? 
UDHelper.deserialize(stateTypeCodec, protocolVersion, initcond.duplicate()) : 
null;
- stateFunctionDuration = 0;
- stateFunctionCount = 0;
- needsInit = false;
-

[jira] [Updated] (CASSANDRA-13421) WriteResponseHandlerTest is sensitive to test execution order

2017-05-02 Thread Ariel Weisberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ariel Weisberg updated CASSANDRA-13421:
---
Status: Ready to Commit  (was: Patch Available)

> WriteResponseHandlerTest is sensitive to test execution order
> -
>
> Key: CASSANDRA-13421
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13421
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Ariel Weisberg
>Assignee: Ariel Weisberg
> Fix For: 4.0
>
>
> One of the tests checks statistics that aren't reset between tests. If the 
> test doesn't run first then the expected values are incorrect.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Updated] (CASSANDRA-13421) WriteResponseHandlerTest is sensitive to test execution order

2017-05-02 Thread Ariel Weisberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ariel Weisberg updated CASSANDRA-13421:
---
Resolution: Fixed
Status: Resolved  (was: Ready to Commit)

Committed as 
[d4933a019d8a717029444887f5f8a72d61cedd95|https://github.com/apache/cassandra/commit/d4933a019d8a717029444887f5f8a72d61cedd95]

> WriteResponseHandlerTest is sensitive to test execution order
> -
>
> Key: CASSANDRA-13421
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13421
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Ariel Weisberg
>Assignee: Ariel Weisberg
> Fix For: 4.0
>
>
> One of the tests checks statistics that aren't reset between tests. If the 
> test doesn't run first then the expected values are incorrect.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



cassandra git commit: Fix WriteResponseHandlerTest being sensitive to test execution order.

2017-05-02 Thread aweisberg
Repository: cassandra
Updated Branches:
  refs/heads/trunk 4ef0bf886 -> d4933a019


Fix WriteResponseHandlerTest being sensitive to test execution order.

Patch by Ariel Weisberg; Reviewed by Jeff Jirsa for CASSANDRA-13421


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4933a01
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4933a01
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4933a01

Branch: refs/heads/trunk
Commit: d4933a019d8a717029444887f5f8a72d61cedd95
Parents: 4ef0bf8
Author: Ariel Weisberg 
Authored: Thu Apr 6 17:09:37 2017 -0400
Committer: Ariel Weisberg 
Committed: Tue May 2 17:24:59 2017 -0400

--
 CHANGES.txt |  1 +
 .../service/WriteResponseHandlerTest.java   | 46 ++--
 2 files changed, 24 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4933a01/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 161eba8..79ecb99 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Fix WriteResponseHandlerTest is sensitive to test execution order 
(CASSANDRA-13421)
  * Improve incremental repair logging (CASSANDRA-13468)
  * Start compaction when incremental repair finishes (CASSANDRA-13454)
  * Add repair streaming preview (CASSANDRA-13257)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4933a01/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java 
b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
index 815dbf6..8172463 100644
--- a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
+++ b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
@@ -109,7 +109,6 @@ public class WriteResponseHandlerTest
InetAddress.getByName("127.2.0.255"), 
InetAddress.getByName("127.2.0.254"), InetAddress.getByName("127.2.0.253"));
 }
 
-
 @Before
 public void resetCounters()
 {
@@ -117,28 +116,6 @@ public class WriteResponseHandlerTest
 }
 
 /**
- * Validate that failing to achieve ideal CL increments the failure counter
- * @throws Throwable
- */
-@Test
-public void failedIdealCLIncrementsStat() throws Throwable
-{
-AbstractWriteResponseHandler awr = 
createWriteResponseHandler(ConsistencyLevel.LOCAL_QUORUM, 
ConsistencyLevel.EACH_QUORUM);
-
-//Succeed in local DC
-awr.response(createDummyMessage(0));
-awr.response(createDummyMessage(1));
-awr.response(createDummyMessage(2));
-
-//Fail in remote DC
-awr.expired();
-awr.expired();
-awr.expired();
-assertEquals(1, ks.metric.writeFailedIdealCL.getCount());
-assertEquals(0, ks.metric.idealCLWriteLatency.totalLatency.getCount());
-}
-
-/**
  * Validate that a successful write at ideal CL logs latency information. 
Also validates
  * DatacenterSyncWriteResponseHandler
  * @throws Throwable
@@ -212,6 +189,29 @@ public class WriteResponseHandlerTest
 assertEquals(startingCount + 1, 
ks.metric.idealCLWriteLatency.latency.getCount());
 }
 
+/**
+ * Validate that failing to achieve ideal CL increments the failure counter
+ * @throws Throwable
+ */
+@Test
+public void failedIdealCLIncrementsStat() throws Throwable
+{
+
+AbstractWriteResponseHandler awr = 
createWriteResponseHandler(ConsistencyLevel.LOCAL_QUORUM, 
ConsistencyLevel.EACH_QUORUM);
+
+//Succeed in local DC
+awr.response(createDummyMessage(0));
+awr.response(createDummyMessage(1));
+awr.response(createDummyMessage(2));
+
+//Fail in remote DC
+awr.expired();
+awr.expired();
+awr.expired();
+assertEquals(1, ks.metric.writeFailedIdealCL.getCount());
+assertEquals(0, ks.metric.idealCLWriteLatency.totalLatency.getCount());
+}
+
 private static AbstractWriteResponseHandler 
createWriteResponseHandler(ConsistencyLevel cl, ConsistencyLevel ideal)
 {
 return createWriteResponseHandler(cl, ideal, System.nanoTime());


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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993703#comment-15993703
 ] 

mck commented on CASSANDRA-11720:
-

{quote} I think that i will implement the above correspondence, how is 
it?{quote}
I'm not sure I understand you [~hnishi].

I've updated your patch, it is here – 
https://github.com/michaelsembwever/cassandra/commit/b40cb59728112b759b6caa8204152add825829cd

I'm looking into adding something in to the existing hints dtest found in 
[hintedhandoff_test.py|https://github.com/riptano/cassandra-dtest/blob/master/hintedhandoff_test.py]

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Assigned] (CASSANDRA-12937) Default setting (yaml) for SSTable compression

2017-05-02 Thread mck (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-12937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mck reassigned CASSANDRA-12937:
---

Assignee: (was: mck)

> Default setting (yaml) for SSTable compression
> --
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Configuration
>Reporter: mck
>Priority: Minor
>  Labels: lhf
>
> In many situations the choice of compression for sstables is more relevant to 
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable 
> compression that new tables will inherit (instead of the defaults found in 
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly 
> compression (btrfs, zfs) or specific disk configurations or even specific C* 
> versions (see CASSANDRA-10995 ).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-13369) If there are multiple values for a key, CQL grammar choses last value. This should not be silent or should not be allowed.

2017-05-02 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993589#comment-15993589
 ] 

Ariel Weisberg commented on CASSANDRA-13369:


||Code|utests|dtests||
|[3.11|https://github.com/apache/cassandra/compare/trunk...aweisberg:cassandra-13369-3.11?expand=1]|[utests|https://circleci.com/gh/aweisberg/cassandra/268]||

> If there are multiple values for a key, CQL grammar choses last value. This 
> should not be silent or should not be allowed.
> --
>
> Key: CASSANDRA-13369
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13369
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: Nachiket Patil
>Assignee: Nachiket Patil
>Priority: Minor
> Attachments: 3.X.diff, trunk.diff
>
>
> If through CQL, multiple values are specified for a key, grammar parses the 
> map and last value for the key wins. This behavior is bad.
> e.g. 
> {code}
> CREATE KEYSPACE Excalibur WITH REPLICATION = {'class': 
> 'NetworkTopologyStrategy', 'dc1': 2, 'dc1': 5};
> {code}
> Parsing this statement, 'dc1' gets RF = 5. This can be catastrophic, may even 
> result in loss of data. This behavior should not be silent or not be allowed 
> at all.  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-13399) UDA fails without input rows

2017-05-02 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993561#comment-15993561
 ] 

Benjamin Lerer commented on CASSANDRA-13399:


Thanks for the patch. It looks good to me. 

> UDA fails without input rows
> 
>
> Key: CASSANDRA-13399
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13399
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: PAF
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.11.x
>
>
> When creating the following user defined AGGREGATION and FUNCTION:
> {code:title=init.cql|borderStyle=solid}
> CREATE FUNCTION state_group_and_total(state map, type uuid)
> RETURNS NULL ON NULL INPUT
> RETURNS map
> LANGUAGE java AS '
> Integer count = (Integer) state.get(type);
> count = (count == null ? 1 : count + 1);
> state.put(type, count);
> return state;
> ';
> CREATE OR REPLACE AGGREGATE group_and_total(uuid)
> SFUNC state_group_and_total
> STYPE map
> INITCOND {};
> {code}
> And creating a statement like:
> {code}
> SELECT group_and_total("id") FROM mytable;
> {code}
> When mytable is empty, it throws the following null assertion
> {code}
> ERROR [Native-Transport-Requests-1] 2017-04-03 07:25:09,787 Message.java:623 
> - Unexpected exception during request; channel = [id: 0xd7d9159b, 
> L:/172.19.0.2:9042 - R:/172.19.0.3:43444]
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.cql3.functions.UDAggregate$2.compute(UDAggregate.java:189)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.AggregateFunctionSelector.getOutput(AggregateFunctionSelector.java:53)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:592)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.getOutputRow(Selection.java:430)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.build(Selection.java:424)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:763)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:400)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:378)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:251)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:79)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:217)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:233) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:517)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:410)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_121]
> at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
>  [apache-cassandra-3.10.jar:3.10]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) 
> [apache-cassandra-3.10.jar:3.10]
> at java.lang.Thread.run(Thread.java:745) 

[jira] [Updated] (CASSANDRA-13399) UDA fails without input rows

2017-05-02 Thread Benjamin Lerer (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Lerer updated CASSANDRA-13399:
---
Status: Ready to Commit  (was: Patch Available)

> UDA fails without input rows
> 
>
> Key: CASSANDRA-13399
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13399
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: PAF
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.11.x
>
>
> When creating the following user defined AGGREGATION and FUNCTION:
> {code:title=init.cql|borderStyle=solid}
> CREATE FUNCTION state_group_and_total(state map, type uuid)
> RETURNS NULL ON NULL INPUT
> RETURNS map
> LANGUAGE java AS '
> Integer count = (Integer) state.get(type);
> count = (count == null ? 1 : count + 1);
> state.put(type, count);
> return state;
> ';
> CREATE OR REPLACE AGGREGATE group_and_total(uuid)
> SFUNC state_group_and_total
> STYPE map
> INITCOND {};
> {code}
> And creating a statement like:
> {code}
> SELECT group_and_total("id") FROM mytable;
> {code}
> When mytable is empty, it throws the following null assertion
> {code}
> ERROR [Native-Transport-Requests-1] 2017-04-03 07:25:09,787 Message.java:623 
> - Unexpected exception during request; channel = [id: 0xd7d9159b, 
> L:/172.19.0.2:9042 - R:/172.19.0.3:43444]
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.cql3.functions.UDAggregate$2.compute(UDAggregate.java:189)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.AggregateFunctionSelector.getOutput(AggregateFunctionSelector.java:53)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:592)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.getOutputRow(Selection.java:430)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.build(Selection.java:424)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:763)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:400)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:378)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:251)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:79)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:217)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:233) 
> ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116)
>  ~[apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:517)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:410)
>  [apache-cassandra-3.10.jar:3.10]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357)
>  [netty-all-4.0.39.Final.jar:4.0.39.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_121]
> at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
>  [apache-cassandra-3.10.jar:3.10]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) 
> [apache-cassandra-3.10.jar:3.10]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> {code}
> Even if my 

[jira] [Commented] (CASSANDRA-13419) Relax limit on number of pending endpoints during CAS

2017-05-02 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993552#comment-15993552
 ] 

Ariel Weisberg commented on CASSANDRA-13419:


[~slebresne] [~pauloricardomg] can I get get some pointers on how to proceed 
with this?

> Relax limit on number of pending endpoints during CAS
> -
>
> Key: CASSANDRA-13419
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13419
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Coordination, CQL
>Reporter: Ariel Weisberg
>Assignee: Ariel Weisberg
>
> CASSANDRA-8346 avoids stale reads during CAS when checking the condition or 
> doing serial reads by disallowing more than one pending endpoint.
> It seems like it should be possible to allow more than one pending endpoint 
> by being smarter about who we read from during the QUORUM read or about the 
> state of pending nodes that are there for host replacement.
> Sylvain suggested 
> bq. Well, I guess things are working as they do for decently good reason 
> here. That said, thinking about it, it could be that the solution from 
> CASSANDRA-8346 is a bit of a big hammer: I believe it's enough to ensure that 
> we read from at least one replica that responded to PREPARE 'in the same 
> Paxos round' But we have timeouts on the paxos round, so it could be it is 
> possible to reduce drastically the time we consider a node pending for CAS so 
> that it's not a real problem in practice. Something like having pending node 
> move to a "almost there" state before becoming true replica, and staying in 
> that state for basically the max time of a paxos round, and then Paxos might 
> be able to replace "pending" nodes by those "almost there" for PREPARE.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



cassandra-builds git commit: Allow using git tag reference as build argument

2017-05-02 Thread spod
Repository: cassandra-builds
Updated Branches:
  refs/heads/master fc452326e -> 9e7f187a2


Allow using git tag reference as build argument

Closes #1


Project: http://git-wip-us.apache.org/repos/asf/cassandra-builds/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra-builds/commit/9e7f187a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra-builds/tree/9e7f187a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra-builds/diff/9e7f187a

Branch: refs/heads/master
Commit: 9e7f187a2002a494493a59b5c2d8410eeb656c87
Parents: fc45232
Author: Frank Vissing 
Authored: Tue May 2 20:13:34 2017 +0200
Committer: Stefan Podkowinski 
Committed: Tue May 2 20:14:09 2017 +0200

--
 docker/build-debs.sh | 2 +-
 docker/build-rpms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra-builds/blob/9e7f187a/docker/build-debs.sh
--
diff --git a/docker/build-debs.sh b/docker/build-debs.sh
index f550a25..9d55deb 100755
--- a/docker/build-debs.sh
+++ b/docker/build-debs.sh
@@ -10,7 +10,7 @@ CASSANDRA_BRANCH=$1
 
 cd $CASSANDRA_DIR
 git fetch
-git checkout origin/$CASSANDRA_BRANCH
+git checkout $CASSANDRA_BRANCH
 # javadoc target is broken in docker without this mkdir
 mkdir -p ./build/javadoc
 ant artifacts -Drelease=true

http://git-wip-us.apache.org/repos/asf/cassandra-builds/blob/9e7f187a/docker/build-rpms.sh
--
diff --git a/docker/build-rpms.sh b/docker/build-rpms.sh
index 1ffcd27..abd875c 100755
--- a/docker/build-rpms.sh
+++ b/docker/build-rpms.sh
@@ -11,7 +11,7 @@ CASSANDRA_VERSION=$2
 
 cd $CASSANDRA_DIR
 git fetch
-git checkout origin/$CASSANDRA_BRANCH
+git checkout $CASSANDRA_BRANCH
 # javadoc target is broken in docker without this mkdir
 mkdir -p ./build/javadoc
 ant artifacts -Drelease=true


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



[jira] [Updated] (CASSANDRA-13468) Improve incremental repair logging

2017-05-02 Thread Blake Eggleston (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Eggleston updated CASSANDRA-13468:

Resolution: Fixed
Status: Resolved  (was: Ready to Commit)

Committed as {{4ef0bf8861ee12f5c7e826298c42fe3ddb29c198}}

> Improve incremental repair logging
> --
>
> Key: CASSANDRA-13468
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13468
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Minor
>
> The logging for incremental repair should be improved a bit. In it's current 
> state, it's pretty conservative and doesn't really give much insight into 
> whats going on.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



cassandra git commit: Improve incremental repair logging

2017-05-02 Thread bdeggleston
Repository: cassandra
Updated Branches:
  refs/heads/trunk 8b3a60b9a -> 4ef0bf886


Improve incremental repair logging

Patch by Blake Eggleston; reviewed by Marcus Eriksson for CASSANDRA-13468


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4ef0bf88
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4ef0bf88
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4ef0bf88

Branch: refs/heads/trunk
Commit: 4ef0bf8861ee12f5c7e826298c42fe3ddb29c198
Parents: 8b3a60b
Author: Blake Eggleston 
Authored: Thu Apr 20 13:24:14 2017 -0700
Committer: Blake Eggleston 
Committed: Tue May 2 09:19:27 2017 -0700

--
 CHANGES.txt |  1 +
 .../repair/consistent/CoordinatorSession.java   | 30 ++-
 .../repair/consistent/LocalSession.java |  4 +-
 .../repair/consistent/LocalSessions.java| 55 +++-
 4 files changed, 50 insertions(+), 40 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ef0bf88/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7ead5ff..161eba8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Improve incremental repair logging (CASSANDRA-13468)
  * Start compaction when incremental repair finishes (CASSANDRA-13454)
  * Add repair streaming preview (CASSANDRA-13257)
  * Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ef0bf88/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
--
diff --git 
a/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java 
b/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
index ef3eacd..cd4844b 100644
--- a/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
+++ b/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
@@ -88,13 +88,13 @@ public class CoordinatorSession extends ConsistentSession
 
 public void setState(State state)
 {
-logger.debug("Setting coordinator state to {} for repair {}", state, 
sessionID);
+logger.trace("Setting coordinator state to {} for repair {}", state, 
sessionID);
 super.setState(state);
 }
 
 public synchronized void setParticipantState(InetAddress participant, 
State state)
 {
-logger.debug("Setting participant {} to state {} for repair {}", 
participant, state, sessionID);
+logger.trace("Setting participant {} to state {} for repair {}", 
participant, state, sessionID);
 Preconditions.checkArgument(participantStates.containsKey(participant),
 "Session %s doesn't include %s",
 sessionID, participant);
@@ -130,6 +130,7 @@ public class CoordinatorSession extends ConsistentSession
 
 protected void sendMessage(InetAddress destination, RepairMessage message)
 {
+logger.trace("Sending {} to {}", message, destination);
 MessageOut messageOut = new 
MessageOut(MessagingService.Verb.REPAIR_MESSAGE, message, 
RepairMessage.serializer);
 MessagingService.instance().sendOneWay(messageOut, destination);
 }
@@ -138,7 +139,7 @@ public class CoordinatorSession extends ConsistentSession
 {
 Preconditions.checkArgument(allStates(State.PREPARING));
 
-logger.debug("Sending PrepareConsistentRequest message to {}", 
participants);
+logger.debug("Beginning prepare phase of incremental repair session 
{}", sessionID);
 PrepareConsistentRequest message = new 
PrepareConsistentRequest(sessionID, coordinator, participants);
 for (final InetAddress participant : participants)
 {
@@ -151,20 +152,21 @@ public class CoordinatorSession extends ConsistentSession
 {
 if (getState() == State.FAILED)
 {
-logger.debug("Consistent repair {} has failed, ignoring prepare 
response from {}", sessionID, participant);
+logger.trace("Incremental repair session {} has failed, ignoring 
prepare response from {}", sessionID, participant);
 }
 else if (!success)
 {
-logger.debug("Failed prepare response received from {} for session 
{}", participant, sessionID);
+logger.debug("{} failed the prepare phase for incremental repair 
session {}. Aborting session", participant, sessionID);
 fail();
 prepareFuture.set(false);
 }
 else
 {
-logger.debug("Successful prepare response received from {} for 
session {}", participant, sessionID);
+ 

[jira] [Commented] (CASSANDRA-11348) Compaction Filter in Cassandra

2017-05-02 Thread Romain Hardouin (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993091#comment-15993091
 ] 

Romain Hardouin commented on CASSANDRA-11348:
-

I have already needed this feature, this is interesting and useful. 

The concern when purging data (I mean physically delete) is repair (read repair 
or maintenance repair), we must use tombstones to avoid data resurrection. One 
of my use case is to purge counters that are older than a specific timestamp. 

I also imagined a filter that put tombstones on data and produce backup 
sstables corresponding to tombstone'd data. This would allow easy restore in 
case of problems.

Another use case would be to plug a small filter that just logs keys when a key 
is greater than a specific size but less than 
{{compaction_large_partition_warning_threshold_mb}}. It would allow to easily 
find outliers.

> Compaction Filter in Cassandra
> --
>
> Key: CASSANDRA-11348
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11348
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Compaction
>Reporter: Dikang Gu
>Assignee: Dikang Gu
>Priority: Minor
> Fix For: 4.x
>
>
> RocksDB has the feature called "Compaction Filter" to allow application to 
> modify/delete a key-value during the background compaction. 
> https://github.com/facebook/rocksdb/blob/v4.1/include/rocksdb/options.h#L201-L226
> It could be valuable to implement this feature in C* as well.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Created] (CASSANDRA-13487) Generate snapshot packages through Jenkins

2017-05-02 Thread Stefan Podkowinski (JIRA)
Stefan Podkowinski created CASSANDRA-13487:
--

 Summary: Generate snapshot packages through Jenkins
 Key: CASSANDRA-13487
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13487
 Project: Cassandra
  Issue Type: New Feature
  Components: Build
Reporter: Stefan Podkowinski
Assignee: Stefan Podkowinski


Creating packages through the new docker based build scripts now work pretty 
much independent from any local environment, as long as docker is available, 
e.g. also on Jenkins. Having daily snapshots available for deb/rpm artifacts 
would enable us to provide users dev-releases for testing and validating fixes.

I've created a branch for the Jenkins integration, which can be found here:
https://github.com/spodkowinski/cassandra-builds/tree/jenkins_debrpm

The major issue I'm currently struggling with is the handling of the actual 
version value. We need to find a way to have Jenkins recognize the correct 
version for the branch being build. Also we must create $version-SNAPSHOT 
packages, as builds are not official releases and we should not have any 
packages for versions that aren't published yet.

The Debian build process will use the version defined in {{debian/changelog}}. 
Adding a -SNAPSHOT suffix for the version should work, but this has to be 
handled manually and care must be taken to change the value back again for a 
regular release.

With RPMs, the version must be set for {{cassandra.spec}}, which is currently 
done by running {noformat}rpmbuild --define="version ${CASSANDRA_VERSION}" -ba 
./redhat/cassandra.spec{noformat}, where the version is passed as a parameter 
by {{build-scripts/cassandra-rpm-packaging.sh}}. Maybe we could grep the 
version from build.xml here?

So I wonder if there any way we can keep track of the version in a single 
place, such as build.xml or CHANGES. Afterwards we also need to enable a 
SNAPSHOT mode, maybe by setting a Jenkins environment value.

/cc [~mshuler]



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread Hiroyuki Nishi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15992558#comment-15992558
 ] 

Hiroyuki Nishi commented on CASSANDRA-11720:


[~michaelsembwever]
I am very sorry for the late reply...
I think that i will implement the above correspondence, how is it?

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-13486) Upstream Power arch specific code

2017-05-02 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15992556#comment-15992556
 ] 

ASF GitHub Bot commented on CASSANDRA-13486:


Github user ghatwala commented on the issue:

https://github.com/apache/cassandra/pull/108
  
The JIRA ticket ID which references this PR : 
https://issues.apache.org/jira/browse/CASSANDRA-13486


> Upstream Power arch specific code
> -
>
> Key: CASSANDRA-13486
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13486
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: Amitkumar Ghatwal
>
> Hi All/ [~snazy], [~jasobrown] , [~ReiOdaira] ,
> As was suggested to my previous JIRA ticket : 
> https://issues.apache.org/jira/browse/CASSANDRA-13345 to create a separate 
> development branch ( for power -ppc64le ) by forking github/apache/cassandra 
> . 
> I have created my own development branch : 
> https://github.com/ghatwala/cassandra/tree/ppc64le-CAPI/trunk and pushed in 
> power arch specific features of CAPI ( Row Cache ). 
> Please refer PR :https://github.com/apache/cassandra/pull/108 to see all the 
> code changes for CAPI-Row Cache . Please kindly review the same.
> Regards,
> Amit



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Created] (CASSANDRA-13486) Upstream Power arch specific code

2017-05-02 Thread Amitkumar Ghatwal (JIRA)
Amitkumar Ghatwal created CASSANDRA-13486:
-

 Summary: Upstream Power arch specific code
 Key: CASSANDRA-13486
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13486
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Amitkumar Ghatwal


Hi All/ [~snazy], [~jasobrown] , [~ReiOdaira] ,

As was suggested to my previous JIRA ticket : 
https://issues.apache.org/jira/browse/CASSANDRA-13345 to create a separate 
development branch ( for power -ppc64le ) by forking github/apache/cassandra . 

I have created my own development branch : 
https://github.com/ghatwala/cassandra/tree/ppc64le-CAPI/trunk and pushed in 
power arch specific features of CAPI ( Row Cache ). 

Please refer PR :https://github.com/apache/cassandra/pull/108 to see all the 
code changes for CAPI-Row Cache . Please kindly review the same.

Regards,
Amit



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Updated] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread mck (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mck updated CASSANDRA-11720:

Status: In Progress  (was: Awaiting Feedback)

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15992532#comment-15992532
 ] 

mck commented on CASSANDRA-11720:
-

thanks [~rha]! i'll update the patch. i'm also looking into adding something to 
the {{hintedhandoff_test.py}} dtest.

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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



[jira] [Commented] (CASSANDRA-11720) Changing `max_hint_window_in_ms` at runtime

2017-05-02 Thread Romain Hardouin (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15992489#comment-15992489
 ] 

Romain Hardouin commented on CASSANDRA-11720:
-

It would be nice to have that in nodetool. I use jmxterm to do that currently:
{code}
echo "set -b org.apache.cassandra.db:type=StorageProxy MaxHintWindow " | 
java -jar /path/to/jmxterm.jar -l 127.0.0.1:7199 -u ... -p ...
{code}

Some comments:

In {{SetMaxHintWindow}} it should be {{value_in_ms}}:
{code}
usage = ""
{code}

In {{GetMaxHintWindow}} I don't understand "of the given type" here:
{code}
@Command(name = "getmaxhintwindow", description = "Print the max hint window of 
the given type in ms")
{code}
Maybe just {{Print max hint window in ms}}?
Thanks

> Changing `max_hint_window_in_ms` at runtime
> ---
>
> Key: CASSANDRA-11720
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11720
> Project: Cassandra
>  Issue Type: Wish
>  Components: Coordination
>Reporter: Jens Rantil
>Assignee: Hiroyuki Nishi
>Priority: Minor
>  Labels: lhf
> Fix For: 4.x
>
> Attachments: CASSANDRA-11720-trunk.patch
>
>
> Scenario: A larger node (in terms of data it holds) goes down. You realize 
> that it will take slightly more than `max_hint_window_in_ms` to fix it. You 
> have a the disk space to store some additional hints.
> Proposal: Support changing `max_hint_window_in_ms` at runtime. The change 
> doesn't have to be persisted somewhere. I'm thinking similar to changing the 
> `compactionthroughput` etc. using `nodetool`.
> Workaround: Change the value in the configuration file and do a rolling 
> restart of all the nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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