You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2012/09/20 00:21:28 UTC

svn commit: r1387803 - in /incubator/mesos/trunk/src: java/jni/org_apache_mesos_Log.cpp log/log.hpp tests/log_tests.cpp

Author: benh
Date: Wed Sep 19 22:21:27 2012
New Revision: 1387803

URL: http://svn.apache.org/viewvc?rev=1387803&view=rev
Log:
Reverted Log::Writer to take a Duration "timeout" rather than a
Timeout to get better retry semantics.

Modified:
    incubator/mesos/trunk/src/java/jni/org_apache_mesos_Log.cpp
    incubator/mesos/trunk/src/log/log.hpp
    incubator/mesos/trunk/src/tests/log_tests.cpp

Modified: incubator/mesos/trunk/src/java/jni/org_apache_mesos_Log.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/java/jni/org_apache_mesos_Log.cpp?rev=1387803&r1=1387802&r2=1387803&view=diff
==============================================================================
--- incubator/mesos/trunk/src/java/jni/org_apache_mesos_Log.cpp (original)
+++ incubator/mesos/trunk/src/java/jni/org_apache_mesos_Log.cpp Wed Sep 19 22:21:27 2012
@@ -403,11 +403,12 @@ JNIEXPORT void JNICALL Java_org_apache_m
 
   jlong jseconds = env->CallLongMethod(junit, toSeconds, jtimeout);
 
+  Seconds seconds(jseconds);
+
   int retries = jretries;
 
   // Create the C++ Log::Writer and initialize the __writer variable.
-  Log::Writer* writer =
-    new Log::Writer(log, Timeout(Seconds(jseconds)), retries);
+  Log::Writer* writer = new Log::Writer(log, seconds, retries);
 
   clazz = env->GetObjectClass(thiz);
 

Modified: incubator/mesos/trunk/src/log/log.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/log/log.hpp?rev=1387803&r1=1387802&r2=1387803&view=diff
==============================================================================
--- incubator/mesos/trunk/src/log/log.hpp (original)
+++ incubator/mesos/trunk/src/log/log.hpp Wed Sep 19 22:21:27 2012
@@ -146,7 +146,7 @@ public:
     // one writer (local and remote) is valid at a time. A writer
     // becomes invalid if any operation returns an error, and a new
     // writer must be created in order perform subsequent operations.
-    Writer(Log* log, const Timeout& timeout, int retries = 3);
+    Writer(Log* log, const Duration& timeout, int retries = 3);
     ~Writer();
 
     // Attempts to append the specified data to the log. A none result
@@ -336,12 +336,12 @@ Log::Position Log::Reader::ending()
 }
 
 
-Log::Writer::Writer(Log* log, const Timeout& timeout, int retries)
+Log::Writer::Writer(Log* log, const Duration& timeout, int retries)
   : error(Option<std::string>::none()),
     coordinator(log->quorum, log->replica, log->network)
 {
   do {
-    Result<uint64_t> result = coordinator.elect(timeout);
+    Result<uint64_t> result = coordinator.elect(Timeout(timeout));
     if (result.isNone()) {
       retries--;
     } else if (result.isSome()) {

Modified: incubator/mesos/trunk/src/tests/log_tests.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/tests/log_tests.cpp?rev=1387803&r1=1387802&r2=1387803&view=diff
==============================================================================
--- incubator/mesos/trunk/src/tests/log_tests.cpp (original)
+++ incubator/mesos/trunk/src/tests/log_tests.cpp Wed Sep 19 22:21:27 2012
@@ -1141,7 +1141,7 @@ TEST(LogTest, WriteRead)
 
   Log log(2, path2, pids);
 
-  Log::Writer writer(&log, Timeout(Seconds(2.0)));
+  Log::Writer writer(&log, Seconds(2.0));
 
   Result<Log::Position> position =
     writer.append("hello world", Timeout(Seconds(2.0)));
@@ -1178,7 +1178,7 @@ TEST(LogTest, Position)
 
   Log log(2, path2, pids);
 
-  Log::Writer writer(&log, Timeout(Seconds(2.0)));
+  Log::Writer writer(&log, Seconds(2.0));
 
   Result<Log::Position> position =
     writer.append("hello world", Timeout(Seconds(2.0)));