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

Paulo Motta edited comment on CASSANDRA-10130 at 6/14/17 8:44 PM:
------------------------------------------------------------------

bq. Let me know if you (and Paulo Motta) have any feedback

I found the lockless version easier to follow and overall I like the simplified 
approach of preventing starting a full index rebuild altogether if any other 
index build is ongoing. Overall I think this is looking very good and nearly 
good to go, I did some minor updates, please let me know what do you think:
* 
[Unify|https://github.com/pauloricardomg/cassandra/commit/24f6616c7980ceac5c5ef356205223b78d357846]
 nested try-clause on {{SecondaryIndexManager.buildIndexesBlocking}}
* 
[Fix|https://github.com/pauloricardomg/cassandra/commit/9a4008f83bbaf83703d56cabada98db2cf00e3de]
 doc nits and 
[remove|https://github.com/pauloricardomg/cassandra/commit/7d8586a7aee8d4c8a252ffddf0d1a21d6a96a21f]
 trailing whitespaces
* The fact that the {{SecondaryIndexManager.rebuildIndexesBlocking}} took a 
collection of SSTables as argument and passed {{fullIndexRebuild=true}} 
downstream was a bit misleading, since it could be wrongly used for a partial 
index rebuild with only a subset of the SSTables, so I 
[simplified|https://github.com/pauloricardomg/cassandra/commit/a945358a36f97632e94e9103650d72c04735354d]
 that to expose a single method for full index rebuilds externally which is 
used by both {{ColumnFamilyStore}} and tests. I'm not sure if we should keep 
the {{rebuildFromSSTablesBlocking}} protected or make it public, I can see if 
being useful to rebuild a subset of the SSTables but It's not currently used 
anywhere, but it could maybe used by extensions.

On a side note, I noticed that [this 
statement|https://github.com/adelapena/cassandra/blob/c5604ffd5ae36cc34d13af6c4c4eadba98458fa3/test/unit/org/apache/cassandra/index/SecondaryIndexManagerTest.java#L369]
 is wrong (missing table name) but it's not throwing exception? Should we 
create a ticket for this?


was (Author: pauloricardomg):
bq. Let me know if you (and Paulo Motta) have any feedback

I found the lockless version easier to follow and overall I like the simplified 
approach of preventing starting a full index rebuild if any other index build 
is ongoing. Overall I think this looking very good and nearly good to go, I did 
some minor updates, please let me know what do you think:
* 
[Unify|https://github.com/pauloricardomg/cassandra/commit/24f6616c7980ceac5c5ef356205223b78d357846]
 nested try-clause on {{SecondaryIndexManager.buildIndexesBlocking}}
* 
[Fix|https://github.com/pauloricardomg/cassandra/commit/9a4008f83bbaf83703d56cabada98db2cf00e3de]
 doc nits and 
[remove|https://github.com/pauloricardomg/cassandra/commit/7d8586a7aee8d4c8a252ffddf0d1a21d6a96a21f]
 trailing whitespaces
* The fact that the {{SecondaryIndexManager.rebuildIndexesBlocking}} took a 
collection of SSTables as argument and passed {{fullIndexRebuild=true}} 
downstream was a bit misleading, since it could be wrongly used for a partial 
index rebuild with only a subset of the SSTables, so I 
[simplified|https://github.com/pauloricardomg/cassandra/commit/a945358a36f97632e94e9103650d72c04735354d]
 that to expose a single method for full index rebuilds externally which is 
used by both {{ColumnFamilyStore}} and tests. I'm not sure if we should keep 
the {{rebuildFromSSTablesBlocking}} protected or make it public, I can see if 
being useful to rebuild a subset of the SSTables but It's not currently used 
anywhere, but it could maybe used by extensions.

On a side note, I noticed that [this 
statement|https://github.com/adelapena/cassandra/blob/c5604ffd5ae36cc34d13af6c4c4eadba98458fa3/test/unit/org/apache/cassandra/index/SecondaryIndexManagerTest.java#L369]
 is wrong (missing table name) but it's not throwing exception? Should we 
create a ticket for this?

> 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.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to