dcapwell commented on code in PR #45:
URL: https://github.com/apache/cassandra-accord/pull/45#discussion_r1182924532
##########
.gitignore:
##########
@@ -3,3 +3,4 @@
build/
accord-core/build/
accord-maelstrom/build/
+.rat-excludes.txt
Review Comment:
I don't see this patch touching this?
##########
accord-core/src/main/java/accord/api/ConfigurationService.java:
##########
@@ -53,19 +55,67 @@
*/
public interface ConfigurationService
{
+ /**
+ *
+ */
+ class EpochReady
+ {
+ public static final AsyncResult<Void> DONE =
AsyncResults.success(null);
+
+ public final long epoch;
+
+ /**
+ * The new epoch has been setup locally and the node is ready to
process commands for it.
+ */
+ public final AsyncResult<Void> metadata;
+
+ /**
+ * The node has retrieved enough remote information to become a
coordinator for the new epoch.
+ */
+ public final AsyncResult<Void> coordination;
+
+ /**
+ * The node has successfully replicated the underlying DataStore
information for the new epoch, but may need
+ * to perform some additional coordination before it can execute the
read portion of a transaction.
+ */
+ public final AsyncResult<Void> data;
+
+ /**
+ * The node has retrieved enough remote information to safely process
reads, including replicating all
+ * necessary DataStore information, and any additional transactions
necessary for consistency.
+ */
+ public final AsyncResult<Void> reads;
Review Comment:
this api maybe problematic... if you are in a command store and the future
is not completed, then your callback will run in the epoch ready publisher's
thread... the existing topology logic I had to use `AsyncChain` and detect this
for callers...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]