[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-09-23 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

{quote}
 You should add a new check on {{StorageService.checkForEndpointCollision}}, 
similar to the {{isSafeForStartup}} ... \[it\] should check if there are live 
nodes with the same tokens as the new node and prevent bootstrap in this case.
{quote}
 
So it seems as though the new {{containsTokensOfLiveOwners}} \(still working on 
the name\) method in {{Gossiper}} should simply grab the current node's token 
list with {{StorageService.getTokens()}} and then iterate through the 
{{liveEndpoints}} and do something like a {{Collections.disjoint}} to see if 
there are any common elements in any of the lists.  

Does that seem correct? 

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-09-23 Thread Christopher Licata (JIRA)

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

Christopher Licata  edited comment on CASSANDRA-12485 at 9/23/16 7:21 PM:
--

{quote}
 You should add a new check on {{StorageService.checkForEndpointCollision}}, 
similar to the {{isSafeForStartup}} ... \[it\] should check if there are live 
nodes with the same tokens as the new node and prevent bootstrap in this case.
{quote}
 
So it seems as though, for the check in 
{{StorageService.checkForEndpointCollision}}, the new 
{{containsTokensOfLiveOwners}} \(still working on the name\) method in 
{{Gossiper}} should simply grab the current node's token list with 
{{StorageService.getTokens()}} and then iterate through the {{liveEndpoints}} 
and do something like a {{Collections.disjoint}} to see if there are any common 
elements in any of the lists.  

Does that seem correct? 


was (Author: cmlicata):
{quote}
 You should add a new check on {{StorageService.checkForEndpointCollision}}, 
similar to the {{isSafeForStartup}} ... \[it\] should check if there are live 
nodes with the same tokens as the new node and prevent bootstrap in this case.
{quote}
 
So it seems as though the new {{containsTokensOfLiveOwners}} \(still working on 
the name\) method in {{Gossiper}} should simply grab the current node's token 
list with {{StorageService.getTokens()}} and then iterate through the 
{{liveEndpoints}} and do something like a {{Collections.disjoint}} to see if 
there are any common elements in any of the lists.  

Does that seem correct? 

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-09-22 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

Hey Paulo, I am going to try to take on this task, but I think I am 
misunderstanding the scenario in which a node will take over the tokens from 
another node during replacement.  Could you please explain it a bit more as 
this will be my first attempt at a contribution to this project?

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-27 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

So, I haven't received any feedback on my (potential) patch.  Hey [~beobal], if 
you have a second, would you be able to take a look, as you patched up 
[Cassandra-10134 |https://issues.apache.org/jira/browse/CASSANDRA-10134].

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-17 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

So, as you can see the {{ stress-build }} step completes properly: 

{noformat}
build:
build-test:
[javac] Compiling 487 source files to 
/Users/xle012/cstar/cassandra/build/test/classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 23 files to /Users/xle012/cstar/cassandra/build/test/classes

stress-build:
[mkdir] Created dir: /Users/xle012/cstar/cassandra/build/classes/stress
[javac] Compiling 120 source files to 
/Users/xle012/cstar/cassandra/build/classes/stress
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 1 file to /Users/xle012/cstar/cassandra/build/classes/stress

write-poms:

init:

maven-ant-tasks-localrepo:

maven-ant-tasks-download:

maven-ant-tasks-init:

maven-declare-dependencies:

_write-poms:

jar:
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/apache-cassandra-thrift-4.0-SNAPSHOT.jar
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/apache-cassandra-4.0-SNAPSHOT.jar
[mkdir] Created dir: 
/Users/xle012/cstar/cassandra/build/classes/stress/META-INF
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/tools/lib/stress.jar

BUILD SUCCESSFUL
Total time: 40 seconds
{noformat}

However, I am getting the following error when I try to run the Cassandra 
Stress binaries manually: 

{noformat}
Christopher Licata ➡ ~/cstar/cassandra/tools/bin [12485-trunk]
± λ sh cassandra-stress 


  1:44PM - October 17
Error: Could not find or load main class org.apache.cassandra.stress.Stress
{noformat}

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-21 Thread Christopher Licata (JIRA)

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

Christopher Licata  edited comment on CASSANDRA-12485 at 10/21/16 4:40 PM:
---

The following patch for the trunk will, I believe, meet the requirements for 
this issue.  [~pauloricardomg], let me know what your thoughts are.  
| *patch* | *dtest* |
| [12485-trunk | https://github.com/cmlicata/cassandra/commits/12485-trunk ]| 
Coming Soon |

Additionally, could give me some tips on how write the dtests for this as well 
as how to execute them successfully?

Currently, when trying to run the replace_address_test.py dtests I am getting 
the following error:
{noformat}
Inserting 1k entries with rf=3 with stress...
ERROR
removing ccm cluster test at: 
/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI
clearing ssl stores from 
[/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI] directory

==
ERROR: fail_without_replace_test (replace_address_test.TestReplaceAddress)
--
Traceback (most recent call last):
  File "/Users/xle012/cstar/cassandra-dtest/tools/decorators.py", line 46, in 
wrapped
f(obj)
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 338, 
in fail_without_replace_test
self._insert_data()
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 127, 
in _insert_data
whitelist=whitelist)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1256, in stress
return handle_external_tool_process(p, ['stress'] + stress_options)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1982, in 
handle_external_tool_process
raise ToolError(cmd_args, rc, out, err)
ToolError: Subprocess ['stress', 'write', 'n=1k', 'no-warmup', '-schema', 
'replication(factor=3)'] exited with non-zero status; exit status: 1; 
stderr: Error: Could not find or load main class 
org.apache.cassandra.stress.Stress}}
{noformat}

Not sure why the test cannot see that class -- I followed the installation and 
build instructions by [~jkni] [here | 
https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md].  



was (Author: cmlicata):
The following patch for the trunk will, I believe, meet the requirements for 
this issue.  Let me know what your thoughts are.  
| *patch* | *dtest* |
| [12485-trunk | https://github.com/cmlicata/cassandra/commits/12485-trunk ]| 
Coming Soon |

Additionally, could give me some tips on how write the dtests for this as well 
as how to execute them successfully?

Currently, when trying to run the replace_address_test.py dtests I am getting 
the following error:
{noformat}
Inserting 1k entries with rf=3 with stress...
ERROR
removing ccm cluster test at: 
/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI
clearing ssl stores from 
[/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI] directory

==
ERROR: fail_without_replace_test (replace_address_test.TestReplaceAddress)
--
Traceback (most recent call last):
  File "/Users/xle012/cstar/cassandra-dtest/tools/decorators.py", line 46, in 
wrapped
f(obj)
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 338, 
in fail_without_replace_test
self._insert_data()
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 127, 
in _insert_data
whitelist=whitelist)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1256, in stress
return handle_external_tool_process(p, ['stress'] + stress_options)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1982, in 
handle_external_tool_process
raise ToolError(cmd_args, rc, out, err)
ToolError: Subprocess ['stress', 'write', 'n=1k', 'no-warmup', '-schema', 
'replication(factor=3)'] exited with non-zero status; exit status: 1; 
stderr: Error: Could not find or load main class 
org.apache.cassandra.stress.Stress}}
{noformat}

Not sure why the test cannot see that class -- I followed the installation and 
build instructions by [~jkni] [here | 
https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md].  


> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> 

[jira] [Commented] (CASSANDRA-12855) Correct Spelling Errors in IEndPointSnitch JavaDocs

2016-10-28 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12855:
-

Patch available [here|https://github.com/apache/cassandra/pull/79]  

> Correct Spelling Errors in IEndPointSnitch JavaDocs
> ---
>
> Key: CASSANDRA-12855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12855
> Project: Cassandra
>  Issue Type: Task
>  Components: Distributed Metadata
>Reporter: Christopher Licata 
>Priority: Trivial
>  Labels: lhf
> Fix For: 3.x
>
>
> There are some spelling errors in the JavaDocs for IEndpointSnitch. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Issue Comment Deleted] (CASSANDRA-12855) Correct Spelling Errors in IEndPointSnitch JavaDocs

2016-10-28 Thread Christopher Licata (JIRA)

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

Christopher Licata  updated CASSANDRA-12855:

Comment: was deleted

(was: Patch available [here|https://github.com/apache/cassandra/pull/79]  )

> Correct Spelling Errors in IEndPointSnitch JavaDocs
> ---
>
> Key: CASSANDRA-12855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12855
> Project: Cassandra
>  Issue Type: Task
>  Components: Distributed Metadata
>Reporter: Christopher Licata 
>Priority: Trivial
>  Labels: lhf
> Fix For: 3.x
>
>
> There are some spelling errors in the JavaDocs for IEndpointSnitch. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-12855) Correct Spelling Errors in IEndPointSnitch JavaDocs

2016-10-28 Thread Christopher Licata (JIRA)
Christopher Licata  created CASSANDRA-12855:
---

 Summary: Correct Spelling Errors in IEndPointSnitch JavaDocs
 Key: CASSANDRA-12855
 URL: https://issues.apache.org/jira/browse/CASSANDRA-12855
 Project: Cassandra
  Issue Type: Task
  Components: Distributed Metadata
Reporter: Christopher Licata 
Priority: Trivial
 Fix For: 3.x


There are some spelling errors in the JavaDocs for IEndpointSnitch. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-16 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

The following patch for the trunk will, I believe, meet the requirements for 
this issue.  Let me know what your thoughts are.  
| *patch* | *dtest* |
| [12485-trunk | https://github.com/cmlicata/cassandra/commits/12485-trunk ]| 
Coming Soon |

Additionally, could give me some tips on how write the dtests for this as well 
as how to execute them successfully?

Currently, when trying to run the replace_address_test.py dtests I am getting 
the following error:
{noformat}
Inserting 1k entries with rf=3 with stress...
ERROR
removing ccm cluster test at: 
/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI
clearing ssl stores from 
[/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI] directory

==
ERROR: fail_without_replace_test (replace_address_test.TestReplaceAddress)
--
Traceback (most recent call last):
  File "/Users/xle012/cstar/cassandra-dtest/tools/decorators.py", line 46, in 
wrapped
f(obj)
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 338, 
in fail_without_replace_test
self._insert_data()
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 127, 
in _insert_data
whitelist=whitelist)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1256, in stress
return handle_external_tool_process(p, ['stress'] + stress_options)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1982, in 
handle_external_tool_process
raise ToolError(cmd_args, rc, out, err)
ToolError: Subprocess ['stress', 'write', 'n=1k', 'no-warmup', '-schema', 
'replication(factor=3)'] exited with non-zero status; exit status: 1; 
stderr: Error: Could not find or load main class 
org.apache.cassandra.stress.Stress}}
{noformat}

Not sure what the cause might be -- I followed the installation and build 
instructions by [~jkni] [here | 
https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md].  


> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-16 Thread Christopher Licata (JIRA)

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

Christopher Licata  edited comment on CASSANDRA-12485 at 10/17/16 1:06 AM:
---

The following patch for the trunk will, I believe, meet the requirements for 
this issue.  Let me know what your thoughts are.  
| *patch* | *dtest* |
| [12485-trunk | https://github.com/cmlicata/cassandra/commits/12485-trunk ]| 
Coming Soon |

Additionally, could give me some tips on how write the dtests for this as well 
as how to execute them successfully?

Currently, when trying to run the replace_address_test.py dtests I am getting 
the following error:
{noformat}
Inserting 1k entries with rf=3 with stress...
ERROR
removing ccm cluster test at: 
/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI
clearing ssl stores from 
[/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI] directory

==
ERROR: fail_without_replace_test (replace_address_test.TestReplaceAddress)
--
Traceback (most recent call last):
  File "/Users/xle012/cstar/cassandra-dtest/tools/decorators.py", line 46, in 
wrapped
f(obj)
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 338, 
in fail_without_replace_test
self._insert_data()
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 127, 
in _insert_data
whitelist=whitelist)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1256, in stress
return handle_external_tool_process(p, ['stress'] + stress_options)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1982, in 
handle_external_tool_process
raise ToolError(cmd_args, rc, out, err)
ToolError: Subprocess ['stress', 'write', 'n=1k', 'no-warmup', '-schema', 
'replication(factor=3)'] exited with non-zero status; exit status: 1; 
stderr: Error: Could not find or load main class 
org.apache.cassandra.stress.Stress}}
{noformat}

Not sure why the test cannot see that class -- I followed the installation and 
build instructions by [~jkni] [here | 
https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md].  



was (Author: cmlicata):
The following patch for the trunk will, I believe, meet the requirements for 
this issue.  Let me know what your thoughts are.  
| *patch* | *dtest* |
| [12485-trunk | https://github.com/cmlicata/cassandra/commits/12485-trunk ]| 
Coming Soon |

Additionally, could give me some tips on how write the dtests for this as well 
as how to execute them successfully?

Currently, when trying to run the replace_address_test.py dtests I am getting 
the following error:
{noformat}
Inserting 1k entries with rf=3 with stress...
ERROR
removing ccm cluster test at: 
/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI
clearing ssl stores from 
[/var/folders/qv/49qsd41n44q92frdc0sc95j0zcj6z5/T/dtest-d4G7dI] directory

==
ERROR: fail_without_replace_test (replace_address_test.TestReplaceAddress)
--
Traceback (most recent call last):
  File "/Users/xle012/cstar/cassandra-dtest/tools/decorators.py", line 46, in 
wrapped
f(obj)
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 338, 
in fail_without_replace_test
self._insert_data()
  File "/Users/xle012/cstar/cassandra-dtest/replace_address_test.py", line 127, 
in _insert_data
whitelist=whitelist)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1256, in stress
return handle_external_tool_process(p, ['stress'] + stress_options)
  File "/Users/xle012/cstar/ccm/ccmlib/node.py", line 1982, in 
handle_external_tool_process
raise ToolError(cmd_args, rc, out, err)
ToolError: Subprocess ['stress', 'write', 'n=1k', 'no-warmup', '-schema', 
'replication(factor=3)'] exited with non-zero status; exit status: 1; 
stderr: Error: Could not find or load main class 
org.apache.cassandra.stress.Stress}}
{noformat}

Not sure what the cause might be -- I followed the installation and build 
instructions by [~jkni] [here | 
https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md].  


> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} 

[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-17 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

[~jkni], I ran {{ant clean jar}} within the CASSANDRA_DIR that I cloned from 
[here|https://git1-us-west.apache.org/repos/asf?p=cassandra.git].  Do I have to 
be in a specific directory (other than the root cassandra directory) that I 
need to run {{ant clean jar}} within or perhaps I am just running the wrong 
command in general? 

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-17 Thread Christopher Licata (JIRA)

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

Christopher Licata  edited comment on CASSANDRA-12485 at 10/17/16 6:26 PM:
---

So, as you can see the {{ stress-build }} step completes properly: 

{noformat}
build:
build-test:
[javac] Compiling 487 source files to 
/Users/xle012/cstar/cassandra/build/test/classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 23 files to /Users/xle012/cstar/cassandra/build/test/classes

stress-build:
[mkdir] Created dir: /Users/xle012/cstar/cassandra/build/classes/stress
[javac] Compiling 120 source files to 
/Users/xle012/cstar/cassandra/build/classes/stress
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 1 file to /Users/xle012/cstar/cassandra/build/classes/stress

write-poms:

init:

maven-ant-tasks-localrepo:

maven-ant-tasks-download:

maven-ant-tasks-init:

maven-declare-dependencies:

_write-poms:

jar:
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/apache-cassandra-thrift-4.0-SNAPSHOT.jar
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/apache-cassandra-4.0-SNAPSHOT.jar
[mkdir] Created dir: 
/Users/xle012/cstar/cassandra/build/classes/stress/META-INF
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/tools/lib/stress.jar

BUILD SUCCESSFUL
Total time: 40 seconds
{noformat}

However, I am getting the following error when I try to run the Cassandra 
Stress binaries manually: 

{noformat}
Christopher Licata ➡ ~/cstar/cassandra/tools/bin [12485-trunk]
± λ sh cassandra-stress 


  1:44PM - October 17
Error: Could not find or load main class org.apache.cassandra.stress.Stress
{noformat}
And actually I am no longer able to run a local cassandra server on my machine 
when I start it from tarball either: 

{noformat}
Christopher Licata ➡ ~/Software/apache-cassandra-3.9/bin
  λ ./cassandra -f 
Error: Could not find or load main class 
org.apache.cassandra.service.CassandraDaemon
{noformat}

Any advice? I am running on OSX.


was (Author: cmlicata):
So, as you can see the {{ stress-build }} step completes properly: 

{noformat}
build:
build-test:
[javac] Compiling 487 source files to 
/Users/xle012/cstar/cassandra/build/test/classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 23 files to /Users/xle012/cstar/cassandra/build/test/classes

stress-build:
[mkdir] Created dir: /Users/xle012/cstar/cassandra/build/classes/stress
[javac] Compiling 120 source files to 
/Users/xle012/cstar/cassandra/build/classes/stress
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 1 file to /Users/xle012/cstar/cassandra/build/classes/stress

write-poms:

init:

maven-ant-tasks-localrepo:

maven-ant-tasks-download:

maven-ant-tasks-init:

maven-declare-dependencies:

_write-poms:

jar:
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/main/META-INF
 [copy] Copying 1 file to 
/Users/xle012/cstar/cassandra/build/classes/thrift/META-INF
  [jar] Building jar: 
/Users/xle012/cstar/cassandra/build/apache-cassandra-thrift-4.0-SNAPSHOT.jar
  [jar] Building jar: 

[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token

2016-10-17 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-12485:
-

[~jkni] you were right... thank god!  I had conflicting $CASSANDRA_HOME 
variables in my .aliases and my .zshrc file.  Since in {{cassandra.in.sh}} the 
CLASSPATH is derived from CASSANDRA_HOME, that fixed everything with running 
the dtests.

> Always require replace_address to replace existing token
> 
>
> Key: CASSANDRA-12485
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>  Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-9556) Add newer data types to cassandra stress

2016-12-08 Thread Christopher Licata (JIRA)

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

Christopher Licata  commented on CASSANDRA-9556:


Is there still no ticket for UDT support?  If not, I will open one up and can 
start working on that as we have tables in our cluster with multiple UDTs and 
even one or two nested UDTs so support for this would be a huge help to us and, 
I'm sure, other users facing the same issues. 
[~jeromatron] WDYT? 

> Add newer data types to cassandra stress
> 
>
> Key: CASSANDRA-9556
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9556
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Jeremy Hanna
>Assignee: ZhaoYang
>Priority: Minor
>  Labels: stress
> Fix For: 2.2.5, 3.0.3
>
> Attachments: CASSANDRA-9556-2.2.patch
>
>
> Currently you can't define a data model with decimal types and use Cassandra 
> stress with it.  Also, I imagine that holds true with other newer data types 
> such as the new date and time types.  Besides that, now that data models are 
> including user defined types, we should allow users to create those 
> structures with stress as well.  Perhaps we could split out the UDTs into a 
> different ticket if it holds the other types up.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)