[
https://issues.apache.org/jira/browse/CASSANDRA-10130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16031177#comment-16031177
]
Andrés de la Peña edited comment on CASSANDRA-10130 at 6/2/17 8:50 AM:
-----------------------------------------------------------------------
[~pauloricardomg], definitively the event driven approach is a better idea than
the lambda. Here is the updated patch:
||[trunk|https://github.com/apache/cassandra/compare/trunk...adelapena:33a603bf89f95a2cfea737572840897fb26c6585]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-10130-trunk-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-10130-trunk-dtest/]|
There is a new
[{{SSTableLoadedNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/notifications/SSTableLoadedNotification.java].
This notification contains the unused list of added SSTables; maybe be could
remove them.
There is a new attribute named {{areLoaded}} to
[{{SSTableAddedNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/notifications/SSTableAddedNotification.java#L27].
This attribute indicates if the added SSTables come from an external source
such as streaming or sstableoader.
The new {{SSTableLoadedNotification}} is sent by
[{{Tracker#addSSTables}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/db/lifecycle/Tracker.java#L204]
depending on its new {{areLoaded}} parameter, with the same meaning as in
{{SSTableAddedNotification}}.
[{{SecondaryIndexManager#buildAllIndexesBlocking}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/index/SecondaryIndexManager.java#L289]
is now private and called by
[{{SecondaryIndexManager#handleNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/index/SecondaryIndexManager.java#L1231].
was (Author: adelapena):
[~pauloricardomg], definitively the event driven approach is a better idea than
the lambda. Here is the updated patch:
||[trunk|https://github.com/apache/cassandra/compare/trunk...adelapena:10130-trunk]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-10130-trunk-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-10130-trunk-dtest/]|
There is a new
[{{SSTableLoadedNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/notifications/SSTableLoadedNotification.java].
This notification contains the unused list of added SSTables; maybe be could
remove them.
There is a new attribute named {{areLoaded}} to
[{{SSTableAddedNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/notifications/SSTableAddedNotification.java#L27].
This attribute indicates if the added SSTables come from an external source
such as streaming or sstableoader.
The new {{SSTableLoadedNotification}} is sent by
[{{Tracker#addSSTables}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/db/lifecycle/Tracker.java#L204]
depending on its new {{areLoaded}} parameter, with the same meaning as in
{{SSTableAddedNotification}}.
[{{SecondaryIndexManager#buildAllIndexesBlocking}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/index/SecondaryIndexManager.java#L289]
is now private and called by
[{{SecondaryIndexManager#handleNotification}}|https://github.com/adelapena/cassandra/blob/33a603bf89f95a2cfea737572840897fb26c6585/src/java/org/apache/cassandra/index/SecondaryIndexManager.java#L1231].
> Node failure during 2i update after streaming can have incomplete 2i when
> restarted
> -----------------------------------------------------------------------------------
>
> Key: CASSANDRA-10130
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10130
> Project: Cassandra
> Issue Type: Bug
> Components: Coordination
> Reporter: Yuki Morishita
> Assignee: Andrés de la Peña
> Priority: Minor
>
> Since MV/2i update happens after SSTables are received, node failure during
> MV/2i update can leave received SSTables live when restarted while MV/2i are
> partially up to date.
> We can add some kind of tracking mechanism to automatically rebuild at the
> startup, or at least warn user when the node restarts.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]