[jira] [Commented] (CASSANDRA-12485) Always require replace_address to replace existing token
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)