cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Knighton (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-10621) Error while bootstraping a new node with Materialized Views
Date Tue, 03 Nov 2015 22:05:27 GMT

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

Joel Knighton edited comment on CASSANDRA-10621 at 11/3/15 10:05 PM:
---------------------------------------------------------------------

These definitely correspond to {{STARTING}} and {{JOINING}} operation modes; we also need
to handle {{MOVING}}, which the previous patch did not handle.

Since explicitly handling these operation modes seems considerably clearer than trying to
handle side effects of these transitions, I've reworked the patch to explicitly check the
operation mode of StorageService.

I've checked these patches against the proposed dtest changes [here|https://github.com/jkni/cassandra-dtest/tree/mv-tests].

The CI runs are clean relative to 3.0
||3.0||
|[branch|https://github.com/jkni/cassandra/tree/b7c81e66b241d7375f0375bb77b7791b08b3a016]|
|[dtests|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-10621-dtest/2/]|
|[utests|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-10621-testall/2/]|

Thanks!


was (Author: jkni):
These definitely correspond to {{STARTING}} and {{JOINING}} operation modes; we also need
to handle {{MOVING}}, which the previous patch did not handle.

Since explicitly handling these operation modes seems considerably clearer than trying to
handle side effects of these transitions, I've reworked the test to explicitly check the operation
mode of StorageService.

I've checked these patches against the proposed dtest changes [here|https://github.com/jkni/cassandra-dtest/tree/mv-tests].

The CI runs are clean relative to 3.0
||3.0||
|[branch|https://github.com/jkni/cassandra/tree/b7c81e66b241d7375f0375bb77b7791b08b3a016]|
|[dtests|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-10621-dtest/2/]|
|[utests|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-10621-testall/2/]|

Thanks!

> Error while bootstraping a new node with Materialized Views
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-10621
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10621
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Coordination
>            Reporter: Alan Boudreault
>            Assignee: Joel Knighton
>            Priority: Critical
>             Fix For: 3.0.0
>
>         Attachments: system.log
>
>
> If I try to add a new node in a cluster that has materialized views, I get the following
error:
> {code}
>  ERROR 19:05:15 Unknown exception caught while attempting to update MaterializedView!
mview.user_playlists
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) [main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) [main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) [main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 19:05:15 Error applying streamed sstable: 
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) ~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) ~[main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) ~[main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
~[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> WARN  19:05:18 Writing large partition mview/genre_to_user:genre_3 (116986142 bytes)
> WARN  19:05:21 Writing large partition mview/genre_to_user:genre_2 (116985746 bytes)
> WARN  19:05:24 Writing large partition mview/genre_to_user:genre_5 (116986337 bytes)
> ERROR 19:05:33 Unknown exception caught while attempting to update MaterializedView!
mview.user_playlists
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) [main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) [main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) [main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 19:05:33 Error applying streamed sstable: 
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) ~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) ~[main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) ~[main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
~[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 19:05:40 Unknown exception caught while attempting to update MaterializedView!
mview.user_playlists
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) [main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) [main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) [main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 19:05:40 Error applying streamed sstable: 
> java.lang.RuntimeException: Trying to get the view natural endpoint on a non-data replica
>         at org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint(ViewUtils.java:103)
~[main/:na]
>         at org.apache.cassandra.service.StorageProxy.mutateMV(StorageProxy.java:693)
~[main/:na]
>         at org.apache.cassandra.db.view.ViewManager.pushViewReplicaUpdates(ViewManager.java:145)
~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:482) ~[main/:na]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:387) ~[main/:na]
>         at org.apache.cassandra.db.Mutation.applyUnsafe(Mutation.java:215) ~[main/:na]
>         at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:162)
~[main/:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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

Mime
View raw message