Repository: kudu
Updated Branches:
  refs/heads/master c1aecf217 -> 2976b2a2c


KuduSession: do not advertise thread-safety

Do not advertise thread-safety of KuduSession methods for the
Kudu C++ client, even if they are thread-safe de facto.  This is
to have one set of semantics for both C++ and Java Kudu client
libraries (corresponding methods of the Java client are not
thread-safe).  Besides, current use cases for the Kudu client
assume that operations with KuduSession object do not involve
multiple threads.

Change-Id: I6b3fcbd0d6446ccddce7a1812260c692eba18fcd
Reviewed-on: http://gerrit.cloudera.org:8080/4105
Tested-by: Kudu Jenkins
Reviewed-by: Dan Burkert <d...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/2976b2a2
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/2976b2a2
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/2976b2a2

Branch: refs/heads/master
Commit: 2976b2a2c14a70e28b44ceed92742fd9913284df
Parents: c1aecf2
Author: Alexey Serbin <aser...@cloudera.com>
Authored: Tue Aug 23 17:40:52 2016 -0700
Committer: Dan Burkert <d...@cloudera.com>
Committed: Wed Aug 24 19:20:49 2016 +0000

----------------------------------------------------------------------
 docs/release_notes.adoc  |  3 +++
 src/kudu/client/client.h | 14 +-------------
 2 files changed, 4 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/2976b2a2/docs/release_notes.adoc
----------------------------------------------------------------------
diff --git a/docs/release_notes.adoc b/docs/release_notes.adoc
index 8279384..38c3d7a 100644
--- a/docs/release_notes.adoc
+++ b/docs/release_notes.adoc
@@ -43,6 +43,9 @@ detailed below.
 - The `kudu-pbc-dump` tool has been removed. The same functionality is now
   implemented as `kudu pbc dump`.
 
+- KuduSession methods in the C++ library are no longer advertised as 
thread-safe
+  to have one set of semantics for both C++ and Java Kudu client libraries.
+
 [[rn_0.10.0]]
 == Release notes specific to 0.10.0
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/2976b2a2/src/kudu/client/client.h
----------------------------------------------------------------------
diff --git a/src/kudu/client/client.h b/src/kudu/client/client.h
index dbd0f6b..89e5a40 100644
--- a/src/kudu/client/client.h
+++ b/src/kudu/client/client.h
@@ -1008,7 +1008,7 @@ class KUDU_EXPORT KuduError {
 /// Users who are familiar with the Hibernate ORM framework should find this
 /// concept of a Session familiar.
 ///
-/// @note This class is not thread-safe except where otherwise specified.
+/// @note This class is not thread-safe.
 class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession> {
  public:
   ~KuduSession();
@@ -1143,8 +1143,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
   /// the write_op is malformed, the write_op is stored in the session's error
   /// collector which may be retrieved at any time.
   ///
-  /// @note This method is thread safe.
-  ///
   /// @param [in] write_op
   ///   Operation to apply. This method transfers the write_op's ownership
   ///   to the KuduSession.
@@ -1173,8 +1171,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
   /// In @c AUTO_FLUSH_SYNC mode, this has no effect, since every Apply() call
   /// flushes itself inline.
   ///
-  /// @note This function is thread-safe.
-  ///
   /// @return Operation result status. In particular, returns a non-OK status
   ///   if there are any pending errors after the rows have been flushed.
   ///   Callers should then use GetPendingErrors to determine which specific
@@ -1226,8 +1222,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
 
   /// Check if there are any pending operations in this session.
   ///
-  /// @note This function is thread-safe.
-  ///
   /// @return @c true if there are operations which have not yet been delivered
   ///   to the cluster. This may include buffered operations (i.e. those
   ///   that have not yet been flushed) as well as in-flight operations
@@ -1245,8 +1239,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
   /// In the other flush modes, data is immediately put en-route
   /// to the destination, so this will return 0.
   ///
-  /// @note This function is thread-safe.
-  ///
   /// @return The number of buffered operations. These are operations that have
   ///   not yet been flushed -- i.e. they are not en-route yet.
   int CountBufferedOperations() const;
@@ -1256,8 +1248,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
   /// Errors may accumulate in session's lifetime; use this method to
   /// see how many errors happened since last call of GetPendingErrors() 
method.
   ///
-  /// @note This function is thread-safe.
-  ///
   /// @return Total count of errors accumulated during the session.
   int CountPendingErrors() const;
 
@@ -1271,8 +1261,6 @@ class KUDU_EXPORT KuduSession : public 
sp::enable_shared_from_this<KuduSession>
   /// @param [out] overflowed
   ///   If there were more errors than could be held in the session's error
   ///   storage, then @c overflowed is set to @c true.
-  ///
-  /// @note This function is thread-safe.
   void GetPendingErrors(std::vector<KuduError*>* errors, bool* overflowed);
 
   /// @return Client for the session: pointer to the associated client object.

Reply via email to