[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8512:
---

gaussianrecurrence commented on a change in pull request #661:
URL: https://github.com/apache/geode-native/pull/661#discussion_r503113173



##
File path: CMakeLists.txt
##
@@ -254,6 +254,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 -Wno-undefined-func-template #TODO fix
 -Wno-float-equal #TODO fix
 -Wno-conversion #TODO fix
+-Wno-missing-variable-declarations #TODO fix

Review comment:
   Thanks for catching that. I, for some reason, reverted the commit you 
made by mistake and got squash with revision 2.
   I've fixed it thought in revision 3. I am currently executing the pipeline 
for the latests changes.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
> 
>
> Key: GEODE-8512
> URL: https://issues.apache.org/jira/browse/GEODE-8512
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Affects Versions: 1.13.0
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Minor
>  Labels: JsonFormatter, pull-request-available
>
> Within Java client, you can specify if the PdxInstance you want to create is 
> a Java domain class or not, but this is not the case for geode-native C++ 
> client.
> Thing is that in order to implement JsonFormatter in C++ client, having this 
> change is mandatory, otherwise creating PdxType's with __GEMFIRE_JSON 
> classname will present some issues while using cquery's.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-8601) Replace ACE ExpiryTaskManager impl by boost::asio one

2020-10-12 Thread Mario Salazar de Torres (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mario Salazar de Torres updated GEODE-8601:
---
Labels: obliterate-ace  (was: )

> Replace ACE ExpiryTaskManager impl by boost::asio one
> -
>
> Key: GEODE-8601
> URL: https://issues.apache.org/jira/browse/GEODE-8601
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Mario Salazar de Torres
>Priority: Major
>  Labels: obliterate-ace
>
> *AS A* native client contributor
> *I WOULD LIKE* to replace ACE implementation of ExpiryTaskManager for a 
> boost::asio one
> *SO THAT* all issues related to it disappear, the implementation is more 
> simple and move away from ACE as it's the project policy for a while.
> —
> *Additional information*
> Current implementation of ExpiryTaskManager is causing issue GEODE-8535 and 
> some other related, not yet reported.
> Also, as I am aware the project is moving away from ACE, so I'd say this is 
> the perfect oportunity to replace ExpiryTaskManager implementation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8601) Replace ACE ExpiryTaskManager impl by boost::asio one

2020-10-12 Thread Mario Salazar de Torres (Jira)
Mario Salazar de Torres created GEODE-8601:
--

 Summary: Replace ACE ExpiryTaskManager impl by boost::asio one
 Key: GEODE-8601
 URL: https://issues.apache.org/jira/browse/GEODE-8601
 Project: Geode
  Issue Type: Improvement
  Components: native client
Reporter: Mario Salazar de Torres


*AS A* native client contributor

*I WOULD LIKE* to replace ACE implementation of ExpiryTaskManager for a 
boost::asio one

*SO THAT* all issues related to it disappear, the implementation is more simple 
and move away from ACE as it's the project policy for a while.

—

*Additional information*

Current implementation of ExpiryTaskManager is causing issue GEODE-8535 and 
some other related, not yet reported.

Also, as I am aware the project is moving away from ACE, so I'd say this is the 
perfect oportunity to replace ExpiryTaskManager implementation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8586:
---

jdeppe-pivotal merged pull request #5609:
URL: https://github.com/apache/geode/pull/5609


   



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8586:


Commit 30782f11f71eca5c1ddbd8a6596a88c85768ae24 in geode's branch 
refs/heads/develop from John Hutchison
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=30782f1 ]

GEODE-8586: Redis SPOP with count on empty set returns NIL instead of empty 
array (#5609)

Co-authored-by: john Hutchison 

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8586:


Commit 30782f11f71eca5c1ddbd8a6596a88c85768ae24 in geode's branch 
refs/heads/develop from John Hutchison
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=30782f1 ]

GEODE-8586: Redis SPOP with count on empty set returns NIL instead of empty 
array (#5609)

Co-authored-by: john Hutchison 

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8586:


Commit 30782f11f71eca5c1ddbd8a6596a88c85768ae24 in geode's branch 
refs/heads/develop from John Hutchison
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=30782f1 ]

GEODE-8586: Redis SPOP with count on empty set returns NIL instead of empty 
array (#5609)

Co-authored-by: john Hutchison 

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8586:


Commit 30782f11f71eca5c1ddbd8a6596a88c85768ae24 in geode's branch 
refs/heads/develop from John Hutchison
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=30782f1 ]

GEODE-8586: Redis SPOP with count on empty set returns NIL instead of empty 
array (#5609)

Co-authored-by: john Hutchison 

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8512:
---

gaussianrecurrence commented on a change in pull request #661:
URL: https://github.com/apache/geode-native/pull/661#discussion_r503113173



##
File path: CMakeLists.txt
##
@@ -254,6 +254,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 -Wno-undefined-func-template #TODO fix
 -Wno-float-equal #TODO fix
 -Wno-conversion #TODO fix
+-Wno-missing-variable-declarations #TODO fix

Review comment:
   Thanks for catching that. I, for some reason, reverted the commit you 
made by mistake and got squash with revision 2.
   I've fixed it thought in revision 3. I am currently executing the pipeline 
for the latests changes.
   
   **UPDATE**. All the test are passing





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
> 
>
> Key: GEODE-8512
> URL: https://issues.apache.org/jira/browse/GEODE-8512
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Affects Versions: 1.13.0
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Minor
>  Labels: JsonFormatter, pull-request-available
>
> Within Java client, you can specify if the PdxInstance you want to create is 
> a Java domain class or not, but this is not the case for geode-native C++ 
> client.
> Thing is that in order to implement JsonFormatter in C++ client, having this 
> change is mandatory, otherwise creating PdxType's with __GEMFIRE_JSON 
> classname will present some issues while using cquery's.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8586:


Commit 30782f11f71eca5c1ddbd8a6596a88c85768ae24 in geode's branch 
refs/heads/develop from John Hutchison
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=30782f1 ]

GEODE-8586: Redis SPOP with count on empty set returns NIL instead of empty 
array (#5609)

Co-authored-by: john Hutchison 

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Priority: Major
>  Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (GEODE-8586) Redis SPOP with count on empty set returns NIL instead of empty array

2020-10-12 Thread Sarah Abbey (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sarah Abbey resolved GEODE-8586.

Fix Version/s: 1.14.0
 Assignee: Jens Deppe
   Resolution: Fixed

> Redis SPOP with count on empty set returns NIL instead of empty array
> -
>
> Key: GEODE-8586
> URL: https://issues.apache.org/jira/browse/GEODE-8586
> Project: Geode
>  Issue Type: Bug
>  Components: redis
>Reporter: John Hutchison
>Assignee: Jens Deppe
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8559) A race could occur during interest registration combined with transactional operations

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8559:
---

pivotal-eshu merged pull request #5581:
URL: https://github.com/apache/geode/pull/5581


   



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> A race could occur during interest registration combined with transactional 
> operations
> --
>
> Key: GEODE-8559
> URL: https://issues.apache.org/jira/browse/GEODE-8559
> Project: Geode
>  Issue Type: Bug
>  Components: client queues, transactions
>Affects Versions: 1.1.0
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>  Labels: pull-request-available
>
> During client interest registration, a region snapshot is taken from server 
> and entry operations after the registration should be sent to client via 
> Region queue.
> There is a race in transaction implementation. Interested client computation 
> is occurred before the transactional operations is applied to the cache 
> during commit. This could lead to client does not get the operations through 
> region snapshot taken, and the transactional operation is not being sent to 
> the client (as the interested clients were computed before hand.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8559) A race could occur during interest registration combined with transactional operations

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8559:


Commit 0cc4fa067d0a9ef4166c021b322a281986851ca5 in geode's branch 
refs/heads/develop from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0cc4fa0 ]

GEODE-8559: Compute interest routing info after transaction committed. (#5581)

* GEODE-8559: Compute interest routing info after transaction committed.

  * Compute interest routing info after transactional event has been
applied to cache. This will make sure an interested client will
either get the event through region snapshot taken or through
HARegionQueue.
  * Add test coverage for CQ with transactional destroy event to make
sure CQ routing is computed correctly.
  * Remove sleep in exiting test code.

> A race could occur during interest registration combined with transactional 
> operations
> --
>
> Key: GEODE-8559
> URL: https://issues.apache.org/jira/browse/GEODE-8559
> Project: Geode
>  Issue Type: Bug
>  Components: client queues, transactions
>Affects Versions: 1.1.0
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>  Labels: pull-request-available
>
> During client interest registration, a region snapshot is taken from server 
> and entry operations after the registration should be sent to client via 
> Region queue.
> There is a race in transaction implementation. Interested client computation 
> is occurred before the transactional operations is applied to the cache 
> during commit. This could lead to client does not get the operations through 
> region snapshot taken, and the transactional operation is not being sent to 
> the client (as the interested clients were computed before hand.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8559) A race could occur during interest registration combined with transactional operations

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8559:


Commit 0cc4fa067d0a9ef4166c021b322a281986851ca5 in geode's branch 
refs/heads/develop from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0cc4fa0 ]

GEODE-8559: Compute interest routing info after transaction committed. (#5581)

* GEODE-8559: Compute interest routing info after transaction committed.

  * Compute interest routing info after transactional event has been
applied to cache. This will make sure an interested client will
either get the event through region snapshot taken or through
HARegionQueue.
  * Add test coverage for CQ with transactional destroy event to make
sure CQ routing is computed correctly.
  * Remove sleep in exiting test code.

> A race could occur during interest registration combined with transactional 
> operations
> --
>
> Key: GEODE-8559
> URL: https://issues.apache.org/jira/browse/GEODE-8559
> Project: Geode
>  Issue Type: Bug
>  Components: client queues, transactions
>Affects Versions: 1.1.0
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>  Labels: pull-request-available
>
> During client interest registration, a region snapshot is taken from server 
> and entry operations after the registration should be sent to client via 
> Region queue.
> There is a race in transaction implementation. Interested client computation 
> is occurred before the transactional operations is applied to the cache 
> during commit. This could lead to client does not get the operations through 
> region snapshot taken, and the transactional operation is not being sent to 
> the client (as the interested clients were computed before hand.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8512:
---

pivotal-jbarrett commented on a change in pull request #661:
URL: https://github.com/apache/geode-native/pull/661#discussion_r503400729



##
File path: cppcache/src/CacheImpl.cpp
##
@@ -814,14 +814,19 @@ DataInput CacheImpl::createDataInput(const uint8_t* 
buffer, size_t len,
 }
 
 PdxInstanceFactory CacheImpl::createPdxInstanceFactory(
-const std::string& className) const {
+const std::string& className, bool expectDomainClass) const {
   this->throwIfClosed();
 
   return PdxInstanceFactory(
-  className, *m_cacheStats, *m_pdxTypeRegistry, *this,
+  className, expectDomainClass, *m_cacheStats, *m_pdxTypeRegistry, *this,
   m_distributedSystem.getSystemProperties().getEnableTimeStatistics());
 }
 
+PdxInstanceFactory CacheImpl::createPdxInstanceFactory(

Review comment:
   If it isn't publicly exported yes, remove extra cruft.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
> 
>
> Key: GEODE-8512
> URL: https://issues.apache.org/jira/browse/GEODE-8512
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Affects Versions: 1.13.0
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Minor
>  Labels: JsonFormatter, pull-request-available
>
> Within Java client, you can specify if the PdxInstance you want to create is 
> a Java domain class or not, but this is not the case for geode-native C++ 
> client.
> Thing is that in order to implement JsonFormatter in C++ client, having this 
> change is mandatory, otherwise creating PdxType's with __GEMFIRE_JSON 
> classname will present some issues while using cquery's.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8512:
---

pivotal-jbarrett commented on a change in pull request #661:
URL: https://github.com/apache/geode-native/pull/661#discussion_r503402216



##
File path: cppcache/include/geode/Cache.hpp
##
@@ -222,14 +222,25 @@ class APACHE_GEODE_EXPORT Cache : public GeodeCache {
   /**
* Returns a factory that can create a {@link PdxInstance}.
* @param className the fully qualified class name that the PdxInstance will
-   * become
-   * when it is fully deserialized.
+   * become when it is fully deserialized.
* @throws IllegalStateException if the className is nullptr or invalid.
* @return the factory
*/
   PdxInstanceFactory createPdxInstanceFactory(
   const std::string& className) const override;
 
+  /**
+   * Returns a factory that can create a {@link PdxInstance}.
+   * @param className the fully qualified class name that the PdxInstance will
+   * become when it is fully deserialized.
+   * @param expectDomainClass Whether or not created PdxType represents a
+   * Java domain class.
+   * @throws IllegalStateException if the className is nullptr or invalid.
+   * @return the factory
+   */
+  PdxInstanceFactory createPdxInstanceFactory(
+  const std::string& className, bool expectDomainClass) const override;

Review comment:
   Is the domain class thing actually specific to Java? I could also apply 
to .NET or other languages where a reflection like behavior exists to 
instantiate a type by name dynamically. If it is specific to Java then maybe 
the param name should reflect that. If it isn't specific to Java then maybe the 
documentation should change.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
> 
>
> Key: GEODE-8512
> URL: https://issues.apache.org/jira/browse/GEODE-8512
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Affects Versions: 1.13.0
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Minor
>  Labels: JsonFormatter, pull-request-available
>
> Within Java client, you can specify if the PdxInstance you want to create is 
> a Java domain class or not, but this is not the case for geode-native C++ 
> client.
> Thing is that in order to implement JsonFormatter in C++ client, having this 
> change is mandatory, otherwise creating PdxType's with __GEMFIRE_JSON 
> classname will present some issues while using cquery's.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8517) GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8517:
---

gesterzhou merged pull request #5530:
URL: https://github.com/apache/geode/pull/5530


   



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13
> --
>
> Key: GEODE-8517
> URL: https://issues.apache.org/jira/browse/GEODE-8517
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.14.0
>Reporter: Xiaojian Zhou
>Assignee: Xiaojian Zhou
>Priority: Major
>  Labels: GeodeOperationAPI, pull-request-available
>
> GEODE-7971 introduced 2 new attributes isLastEventInTransaction and 
> transactionId. At that time, the in-coming release was 1.13. So the 
> GatewaySenderEventImpl specified GEODE_1_13_0 for the code changes. However, 
> due to the release schedule change, the 2 attributes are actually introduced 
> in 1.14. The 1.13 does not have them. 
> So rollingUpgrade from 1.13 to 1.14 for PARALLEL_GATEWAY_SENDER_QUEUE region 
> with GatewaySenderEventImpl will encounter serialization issue. This issue 
> will only be triggered in TX use case. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8517) GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8517:


Commit e85a1bd450292eb3db098d826734e6ba64151ad0 in geode's branch 
refs/heads/develop from Xiaojian Zhou
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e85a1bd ]

GEODE-8517: GatewaySenderEventImpl's 2 new attributes were introduced… (#5530)


Co-authored-by: Jianxia Chen <11181423+jche...@users.noreply.github.com>

> GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13
> --
>
> Key: GEODE-8517
> URL: https://issues.apache.org/jira/browse/GEODE-8517
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.14.0
>Reporter: Xiaojian Zhou
>Assignee: Xiaojian Zhou
>Priority: Major
>  Labels: GeodeOperationAPI, pull-request-available
>
> GEODE-7971 introduced 2 new attributes isLastEventInTransaction and 
> transactionId. At that time, the in-coming release was 1.13. So the 
> GatewaySenderEventImpl specified GEODE_1_13_0 for the code changes. However, 
> due to the release schedule change, the 2 attributes are actually introduced 
> in 1.14. The 1.13 does not have them. 
> So rollingUpgrade from 1.13 to 1.14 for PARALLEL_GATEWAY_SENDER_QUEUE region 
> with GatewaySenderEventImpl will encounter serialization issue. This issue 
> will only be triggered in TX use case. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8512:
---

gaussianrecurrence commented on a change in pull request #661:
URL: https://github.com/apache/geode-native/pull/661#discussion_r503414608



##
File path: cppcache/include/geode/Cache.hpp
##
@@ -222,14 +222,25 @@ class APACHE_GEODE_EXPORT Cache : public GeodeCache {
   /**
* Returns a factory that can create a {@link PdxInstance}.
* @param className the fully qualified class name that the PdxInstance will
-   * become
-   * when it is fully deserialized.
+   * become when it is fully deserialized.
* @throws IllegalStateException if the className is nullptr or invalid.
* @return the factory
*/
   PdxInstanceFactory createPdxInstanceFactory(
   const std::string& className) const override;
 
+  /**
+   * Returns a factory that can create a {@link PdxInstance}.
+   * @param className the fully qualified class name that the PdxInstance will
+   * become when it is fully deserialized.
+   * @param expectDomainClass Whether or not created PdxType represents a
+   * Java domain class.
+   * @throws IllegalStateException if the className is nullptr or invalid.
+   * @return the factory
+   */
+  PdxInstanceFactory createPdxInstanceFactory(
+  const std::string& className, bool expectDomainClass) const override;

Review comment:
   Short answer -> Currently, it's specific to Java, so yes, will update 
the variable name. Thanks for pointing it out
   And it's not directly involved with reflection. You can have custom types 
deserialization and not have reflection. You just need to tell your application 
how to serialize/de-serialize objects.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
> 
>
> Key: GEODE-8512
> URL: https://issues.apache.org/jira/browse/GEODE-8512
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Affects Versions: 1.13.0
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Minor
>  Labels: JsonFormatter, pull-request-available
>
> Within Java client, you can specify if the PdxInstance you want to create is 
> a Java domain class or not, but this is not the case for geode-native C++ 
> client.
> Thing is that in order to implement JsonFormatter in C++ client, having this 
> change is mandatory, otherwise creating PdxType's with __GEMFIRE_JSON 
> classname will present some issues while using cquery's.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8531) Coredump when removing an entry

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8531:
---

gaussianrecurrence commented on pull request #667:
URL: https://github.com/apache/geode-native/pull/667#issuecomment-707232699


   Clang unused warning has been solved and I've rebased develop changes into 
the branch
   All the tests are passing.



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Coredump when removing an entry
> ---
>
> Key: GEODE-8531
> URL: https://issues.apache.org/jira/browse/GEODE-8531
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Mario Salazar de Torres
>Assignee: Mario Salazar de Torres
>Priority: Major
>  Labels: pull-request-available
> Attachments: notifications-no-massif.log
>
>
> The scenario is the following:
> *HAVING* a configured concurrency-checks-enabled=false in the 
> client-cache.xml for a region
> *HAVING* a configured subscription-notification for the pool on which the 
> region is defined
> *HAVING* regsitered interest on all the keys of this region, values included
> *WHEN* a LOCAL_DESTROY notification arrives and therefore 
> {color:#4c9aff}MapSegment::remove{color}{color:#172b4d} is called{color}
> {color:#172b4d}*THEN* the application crashes, claiming that the variable 
> entry is a nullptr.{color}
>  
> This is the segmentation report:
> {code:java}
> [debug 2020/09/24 17:21:07.263036 CEST DESKTOP-3SQUK3P:586546 
> 140013383710464] Region::destroy: region [/region] destroying key 
> [entry-152150]
> Segmentation fault
> *** Segmentation fault
> Register dump: RAX:    RBX:    RCX: 
> 
>  RDX:    RSI: 7f57580008e0   RDI: 7f5767ffe670
>  RBP: 7f5767ffe6c0   R8 : 7f5758000d70   R9 : 563da49f0ac0
>  R10: 000c   R11: 7f57815a2058   R12: 563da6971a48
>  R13: 563da696dbd0   R14:    R15: 7ffd06db85a0
>  RSP: 7f5767ffe610 RIP: 7f578159ac47   EFLAGS: 00010202 CS: 0033   
> FS:    GS:  Trap: 000e   Error: 0004   OldMask:    
> CR2:  FPUCW: 037f   FPUSW:    TAG: 7f57
>  RIP: 80b37f70   RDP:  ST(0)     ST(1)  
> 
>  ST(2)     ST(3)  
>  ST(4)     ST(5)  c000
>  ST(6)  c000   ST(7) e000 e000
>  mxcsr: 1f80
>  XMM0:  25252525 XMM1:  
> 25252525
>  XMM2:  25252525 XMM3:  
> 25252525
>  XMM4:  25252525 XMM5:  
> 25252525
>  XMM6:  25252525 XMM7:  
> 25252525
>  XMM8:  25252525 XMM9:  
> 25252525
>  XMM10: 25252525 XMM11: 
> 25252525
>  XMM12: 25252525 XMM13: 
> 25252525
>  XMM14: 25252525 XMM15: 
> 25252525Backtrace:
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client10MapSegment6removeERKSt10shared_ptrINS1_12CacheableKeyEERS3_INS1_12SerializableEERS3_INS1_12MapEntryImplEEiS3_INS1_10VersionTagEEbRb+0x287)[0x7f578159ac47]
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client20ConcurrentEntriesMap6removeERKSt10shared_ptrINS1_12CacheableKeyEERS3_INS1_12SerializableEERS3_INS1_12MapEntryImplEEiS3_INS1_10VersionTagEEb+0xa0)[0x7f57814e1782]
> /usr/local/lib/libapache-geode.so(+0x77173d)[0x7f578157673d]
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client11LocalRegion13updateNoThrowINS1_14DestroyActionsEEE9GfErrTypeRKSt10shared_ptrINS1_12CacheableKeyEERKS6_INS1_12SerializableEESE_RSC_iNS1_15CacheEventFlagsES6_INS1_10VersionTagEEPNS1_9DataInputES6_INS1_7EventIdEE+0x515)[0x7f578157af2b]
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client11LocalRegion14destroyNoThrowERKSt10shared_ptrINS1_12CacheableKeyEERKS3_INS1_12SerializableEEiNS1_15CacheEventFlagsES3_INS1_10VersionTagEE+0xae)[0x7f578156cf9a]
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client16ThinClientRegion25clientNotificationHandlerERNS1_10TcrMessageE+0x1dd)[0x7f57816e13bf]
> /usr/local/lib/libapache-geode.so(_ZN6apache5geode6client16ThinClientRegion19receiveNotificationEPNS1_10TcrMessageE+0x124)

[jira] [Resolved] (GEODE-8559) A race could occur during interest registration combined with transactional operations

2020-10-12 Thread Eric Shu (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Shu resolved GEODE-8559.
-
Fix Version/s: 1.14.0
   Resolution: Fixed

> A race could occur during interest registration combined with transactional 
> operations
> --
>
> Key: GEODE-8559
> URL: https://issues.apache.org/jira/browse/GEODE-8559
> Project: Geode
>  Issue Type: Bug
>  Components: client queues, transactions
>Affects Versions: 1.1.0
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> During client interest registration, a region snapshot is taken from server 
> and entry operations after the registration should be sent to client via 
> Region queue.
> There is a race in transaction implementation. Interested client computation 
> is occurred before the transactional operations is applied to the cache 
> during commit. This could lead to client does not get the operations through 
> region snapshot taken, and the transactional operation is not being sent to 
> the client (as the interested clients were computed before hand.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

jinmeiliao commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503444286



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/PartitionedRegionVersionException.java
##
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class PartitionedRegionVersionException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public PartitionedRegionVersionException() {
+super("A server's version was too old to a partition region clear");
+  }

Review comment:
   would be nice to indicate which server is the older version





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

jinmeiliao commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503444811



##
File path: 
geode-core/src/upgradeTest/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgradePartitionRegionClearMixedServerPartitionedRegion.java
##
@@ -0,0 +1,410 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.cache.rollingupgrade;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.catchThrowable;
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.logging.log4j.Logger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized.UseParametersRunnerFactory;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.GemFireCache;
+import org.apache.geode.cache.PartitionedRegionVersionException;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
+import org.apache.geode.cache.client.ServerOperationException;
+import org.apache.geode.cache.server.CacheServer;
+import org.apache.geode.distributed.DistributedSystem;
+import org.apache.geode.distributed.internal.DistributionConfig;
+import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
+import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.logging.internal.log4j.api.LogService;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.IgnoredException;
+import org.apache.geode.test.dunit.Invoke;
+import org.apache.geode.test.dunit.NetworkUtils;
+import org.apache.geode.test.dunit.VM;
+import org.apache.geode.test.dunit.internal.DUnitLauncher;
+import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
+import 
org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
+import org.apache.geode.test.version.VersionManager;
+
+@RunWith(Parameterized.class)
+@UseParametersRunnerFactory(CategoryWithParameterizedRunnerFactory.class)
+public class RollingUpgradePartitionRegionClearMixedServerPartitionedRegion
+extends JUnit4DistributedTestCase {
+
+  protected static final Logger logger = LogService.getLogger();
+  protected static GemFireCache cache;
+  protected static ClientCache clientcache;
+
+  @Parameter
+  public String oldVersion;
+
+  @Parameters(name = "from_v{0}")
+  public static Collection data() {
+List result = 
VersionManager.getInstance().getVersionsWithoutCurrent();
+if (result.size() < 1) {
+  throw new RuntimeException("No older versions of Geode were found to 
test against");
+} else {
+  System.out.println("running against these versions: " + result);
+}
+return result;
+  }
+
+  @Test
+  public void testPutAndGetMixedServerPartitionedRegion() throws Exception {
+doTestPutAndGetMixedServers(oldVersion);
+  }
+
+  /**
+   * This test starts up multiple servers from the current code base and 
multiple servers from the
+   * old version and executes puts and gets on a new server and old server and 
verifies that the
+   * results are present. Note that the puts have overlapping region keys just 
to test new puts and
+   * replaces

[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

mhansonp commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503445296



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/PartitionedRegionVersionException.java
##
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class PartitionedRegionVersionException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public PartitionedRegionVersionException() {
+super("A server's version was too old to a partition region clear");
+  }

Review comment:
   Will do.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

demery-pivotal commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503447470



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/PartitionedRegionVersionException.java
##
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class PartitionedRegionVersionException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public PartitionedRegionVersionException() {
+super("A server's version was too old to a partition region clear");
+  }

Review comment:
   The exception message is worded awkwardly. Should this be
   
   - "too old to do a partition region clear"?
   - "too old to clear a partition region"?
   - something else?





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8602) locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because test doesn't wait for view to have all members

2020-10-12 Thread Bill Burcham (Jira)
Bill Burcham created GEODE-8602:
---

 Summary: 
locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because test 
doesn't wait for view to have all members
 Key: GEODE-8602
 URL: https://issues.apache.org/jira/browse/GEODE-8602
 Project: Geode
  Issue Type: Bug
  Components: membership, tests
Affects Versions: 1.14.0
Reporter: Bill Burcham


{{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
 correctly waits for locators to start but then fails to wait for locators' 
views to be updated.

This code:


{code:java}
assertThat(membership0.getView().getMembers()).hasSize(2);
{code}

…doesn't wait. This results in an exception sometimes:

{code:java}
org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest 
> locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted FAILED
java.lang.AssertionError: 
Expected size:<2> but was:<1> in:
<[172.17.0.30(1:locator):41000]>
at 
org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted(MembershipIntegrationTest.java:308)
{code}

A Band-Aid would be to put an awaitility call around the two such hasSize() 
calls. A better fix would be to make the test deterministic per GEODE-8589.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (GEODE-8602) locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because test doesn't wait for view to have all members

2020-10-12 Thread Bill Burcham (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bill Burcham reassigned GEODE-8602:
---

Assignee: Dan Smith

> locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because 
> test doesn't wait for view to have all members
> 
>
> Key: GEODE-8602
> URL: https://issues.apache.org/jira/browse/GEODE-8602
> Project: Geode
>  Issue Type: Bug
>  Components: membership, tests
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Dan Smith
>Priority: Major
>
> {{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
>  correctly waits for locators to start but then fails to wait for locators' 
> views to be updated.
> This code:
> {code:java}
> assertThat(membership0.getView().getMembers()).hasSize(2);
> {code}
> …doesn't wait. This results in an exception sometimes:
> {code:java}
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  > locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted FAILED
> java.lang.AssertionError: 
> Expected size:<2> but was:<1> in:
> <[172.17.0.30(1:locator):41000]>
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted(MembershipIntegrationTest.java:308)
> {code}
> A Band-Aid would be to put an awaitility call around the two such hasSize() 
> calls. A better fix would be to make the test deterministic per GEODE-8589.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8602) locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because test doesn't wait for view to have all members

2020-10-12 Thread Geode Integration (Jira)


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

Geode Integration commented on GEODE-8602:
--

Seen in [IntegrationTestOpenJDK11 
#507|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/IntegrationTestOpenJDK11/builds/507]
 ... see [test 
results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.14.0-build.0410/test-results/integrationTest/1602522648/]
 or download 
[artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.14.0-build.0410/test-artifacts/1602522648/integrationtestfiles-OpenJDK11-1.14.0-build.0410.tgz].

> locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because 
> test doesn't wait for view to have all members
> 
>
> Key: GEODE-8602
> URL: https://issues.apache.org/jira/browse/GEODE-8602
> Project: Geode
>  Issue Type: Bug
>  Components: membership, tests
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Dan Smith
>Priority: Major
>
> {{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
>  correctly waits for locators to start but then fails to wait for locators' 
> views to be updated.
> This code:
> {code:java}
> assertThat(membership0.getView().getMembers()).hasSize(2);
> {code}
> …doesn't wait. This results in an exception sometimes:
> {code:java}
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  > locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted FAILED
> java.lang.AssertionError: 
> Expected size:<2> but was:<1> in:
> <[172.17.0.30(1:locator):41000]>
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted(MembershipIntegrationTest.java:308)
> {code}
> A Band-Aid would be to put an awaitility call around the two such hasSize() 
> calls. A better fix would be to make the test deterministic per GEODE-8589.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8602) locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because test doesn't wait for view to have all members

2020-10-12 Thread Bill Burcham (Jira)


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

Bill Burcham commented on GEODE-8602:
-

Bug seen in this CI run 
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/IntegrationTestOpenJDK11/builds/507

> locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted fails because 
> test doesn't wait for view to have all members
> 
>
> Key: GEODE-8602
> URL: https://issues.apache.org/jira/browse/GEODE-8602
> Project: Geode
>  Issue Type: Bug
>  Components: membership, tests
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Dan Smith
>Priority: Major
>
> {{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
>  correctly waits for locators to start but then fails to wait for locators' 
> views to be updated.
> This code:
> {code:java}
> assertThat(membership0.getView().getMembers()).hasSize(2);
> {code}
> …doesn't wait. This results in an exception sometimes:
> {code:java}
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  > locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted FAILED
> java.lang.AssertionError: 
> Expected size:<2> but was:<1> in:
> <[172.17.0.30(1:locator):41000]>
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted(MembershipIntegrationTest.java:308)
> {code}
> A Band-Aid would be to put an awaitility call around the two such hasSize() 
> calls. A better fix would be to make the test deterministic per GEODE-8589.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (GEODE-8603) Potentially expand classes identified for CI stressing to include subclasses

2020-10-12 Thread Jens Deppe (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Deppe reassigned GEODE-8603:
-

Assignee: Jens Deppe

> Potentially expand classes identified for CI stressing to include subclasses
> 
>
> Key: GEODE-8603
> URL: https://issues.apache.org/jira/browse/GEODE-8603
> Project: Geode
>  Issue Type: Test
>  Components: ci, tests
>Reporter: Jens Deppe
>Assignee: Jens Deppe
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (GEODE-8517) GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13

2020-10-12 Thread Jianxia Chen (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jianxia Chen resolved GEODE-8517.
-
Fix Version/s: 1.14.0
   Resolution: Fixed

> GatewaySenderEventImpl's 2 new attributes were introduced in 1.14 not 1.13
> --
>
> Key: GEODE-8517
> URL: https://issues.apache.org/jira/browse/GEODE-8517
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.14.0
>Reporter: Xiaojian Zhou
>Assignee: Xiaojian Zhou
>Priority: Major
>  Labels: GeodeOperationAPI, pull-request-available
> Fix For: 1.14.0
>
>
> GEODE-7971 introduced 2 new attributes isLastEventInTransaction and 
> transactionId. At that time, the in-coming release was 1.13. So the 
> GatewaySenderEventImpl specified GEODE_1_13_0 for the code changes. However, 
> due to the release schedule change, the 2 attributes are actually introduced 
> in 1.14. The 1.13 does not have them. 
> So rollingUpgrade from 1.13 to 1.14 for PARALLEL_GATEWAY_SENDER_QUEUE region 
> with GatewaySenderEventImpl will encounter serialization issue. This issue 
> will only be triggered in TX use case. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8603) Potentially expand classes identified for CI stressing to include subclasses

2020-10-12 Thread Jens Deppe (Jira)
Jens Deppe created GEODE-8603:
-

 Summary: Potentially expand classes identified for CI stressing to 
include subclasses
 Key: GEODE-8603
 URL: https://issues.apache.org/jira/browse/GEODE-8603
 Project: Geode
  Issue Type: Test
  Components: ci, tests
Reporter: Jens Deppe






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread Blake Bender (Jira)
Blake Bender created GEODE-8604:
---

 Summary: -Wdocumentation errors on Mac
 Key: GEODE-8604
 URL: https://issues.apache.org/jira/browse/GEODE-8604
 Project: Geode
  Issue Type: Improvement
  Components: native client
Reporter: Blake Bender


The recent fix for GEODE-8571 builds on all geode-native "supported" platforms, 
but MacOS with clang 12 flags more stuff, so the Mac build is broken on 
`develop`, which is a problem for many of our developers.  Need to fix all the 
documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated GEODE-8604:
--
Labels: pull-request-available  (was: )

> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8604:
---

pdxcodemonkey opened a new pull request #673:
URL: https://github.com/apache/geode-native/pull/673


   MacOS apparently flags more of these than our Linux builds, so this fixes up 
Mac builds.
   
   @mreddington @davebarnes97 @dihardman



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Priority: Major
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread Blake Bender (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Bender reassigned GEODE-8604:
---

Assignee: Blake Bender

> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Assignee: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8589) make locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted test deterministic

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8589:
---

upthewaterspout opened a new pull request #5617:
URL: https://github.com/apache/geode/pull/5617


   Wait for the view to have size 2 instead of asserting it in
   
MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted,
   because the view is updated asynchronously.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, check Concourse for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> make locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted test 
> deterministic
> ---
>
> Key: GEODE-8589
> URL: https://issues.apache.org/jira/browse/GEODE-8589
> Project: Geode
>  Issue Type: Improvement
>  Components: membership
>Reporter: Bill Burcham
>Priority: Major
>  Labels: membership
>
> A recent commit added a new test: 
> {{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
> That's a good test. But it would be better if it ran faster and was less 
> susceptible to timing issues. The problem is that the logic we are trying to 
> test, {{GMSJoinLeave.leave()}} uses {{System.currentTimeMillis()}} to get the 
> current time and it uses {{Thread.sleep()}} to sleep:
> {code:java}
> long now = System.currentTimeMillis();
> ...
> if (state.joinedMembersContacted <= 0 && ((now >= 
> locatorGiveUpTime &&
> tries >= minimumRetriesBeforeBecomingCoordinator) ||
> state.locatorsContacted >= locators.size())) {
> ...
> if (System.currentTimeMillis() > giveupTime) {
>   break;
> }
> ...
>   Thread.sleep(retrySleep);
> ...
>   giveupTime = System.currentTimeMillis() + timeout;
> ...
>   if (!this.isJoined) {
> logger.debug("giving up attempting to join the distributed system 
> after "
> + (System.currentTimeMillis() - startTime) + "ms");
>   }
> ...
>   if (!this.isJoined && state.hasContactedAJoinedLocator) {
> throw new MemberStartupException("Unable to join the distributed 
> system in "
> + (System.currentTimeMillis() - startTime) + "ms");
>   }
> {code}
> The opportunity is to _inject_ objects that handle these two functions (time 
> keeping and sleeping). This will enable us to artifically control these in 
> our test! Sleeping doesn't have to take any time at all. And we can make time 
> pass as quickly as we want to.
> For an example of how this can be done, see [PR 
> #5422|https://github.com/apache/geode/pull/5422] for GEODE-6950.
> This particular test 
> ({{locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}) is a 
> little bit more involved than that one in that more objects are involved. In 
> addition to {{GMSJoinLeave}}, other classes involved in the test also need 
> current time and need to sleep.
> When this ticket is complete:
> * functional interfaces {{MillisecondProvider}} and {{Sleeper}}, currently 
> defined inside {{PrimaryHandler}} will be moved higher in the (internal) 
> hierarchy for use by other membership classes
> * {{GMSJoinLeave}} will take a {{MillisecondProvider}} and {{Sleeper}} in its 
> constructor and will delegate to those instead of calling 
> {{System.currentTimeMillis()}} and {{Thread.sleep()}} directly
> * TBD other classes may require injection of {{MillisecondProvider}} and 
> {{Sl

[jira] [Updated] (GEODE-8589) make locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted test deterministic

2020-10-12 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated GEODE-8589:
--
Labels: membership pull-request-available  (was: membership)

> make locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted test 
> deterministic
> ---
>
> Key: GEODE-8589
> URL: https://issues.apache.org/jira/browse/GEODE-8589
> Project: Geode
>  Issue Type: Improvement
>  Components: membership
>Reporter: Bill Burcham
>Priority: Major
>  Labels: membership, pull-request-available
>
> A recent commit added a new test: 
> {{MembershipIntegrationTest.locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}
> That's a good test. But it would be better if it ran faster and was less 
> susceptible to timing issues. The problem is that the logic we are trying to 
> test, {{GMSJoinLeave.leave()}} uses {{System.currentTimeMillis()}} to get the 
> current time and it uses {{Thread.sleep()}} to sleep:
> {code:java}
> long now = System.currentTimeMillis();
> ...
> if (state.joinedMembersContacted <= 0 && ((now >= 
> locatorGiveUpTime &&
> tries >= minimumRetriesBeforeBecomingCoordinator) ||
> state.locatorsContacted >= locators.size())) {
> ...
> if (System.currentTimeMillis() > giveupTime) {
>   break;
> }
> ...
>   Thread.sleep(retrySleep);
> ...
>   giveupTime = System.currentTimeMillis() + timeout;
> ...
>   if (!this.isJoined) {
> logger.debug("giving up attempting to join the distributed system 
> after "
> + (System.currentTimeMillis() - startTime) + "ms");
>   }
> ...
>   if (!this.isJoined && state.hasContactedAJoinedLocator) {
> throw new MemberStartupException("Unable to join the distributed 
> system in "
> + (System.currentTimeMillis() - startTime) + "ms");
>   }
> {code}
> The opportunity is to _inject_ objects that handle these two functions (time 
> keeping and sleeping). This will enable us to artifically control these in 
> our test! Sleeping doesn't have to take any time at all. And we can make time 
> pass as quickly as we want to.
> For an example of how this can be done, see [PR 
> #5422|https://github.com/apache/geode/pull/5422] for GEODE-6950.
> This particular test 
> ({{locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}}) is a 
> little bit more involved than that one in that more objects are involved. In 
> addition to {{GMSJoinLeave}}, other classes involved in the test also need 
> current time and need to sleep.
> When this ticket is complete:
> * functional interfaces {{MillisecondProvider}} and {{Sleeper}}, currently 
> defined inside {{PrimaryHandler}} will be moved higher in the (internal) 
> hierarchy for use by other membership classes
> * {{GMSJoinLeave}} will take a {{MillisecondProvider}} and {{Sleeper}} in its 
> constructor and will delegate to those instead of calling 
> {{System.currentTimeMillis()}} and {{Thread.sleep()}} directly
> * TBD other classes may require injection of {{MillisecondProvider}} and 
> {{Sleeper}}
> * TBD other changes may be necessary in cases where collaborating classes 
> currently spin up threads or synchronize between threads e.g. calling 
> {{wait()}}
> * {{locatorsStopWaitingForLocatorWaitTimeIfAllLocatorsContacted()}} will no 
> longer employ {{Thread.sleep()}} nor will it call 
> {{CompletableFuture.get(long timeout, TimeUnit unit)}}—instead it will 
> operate deterministically (ideally in the same thread but not necessarily) 
> with respect to the unit under test.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (GEODE-8536) StackOverflow can occur when Lucene IndexWriter is unable to be created

2020-10-12 Thread Donal Evans (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Donal Evans reassigned GEODE-8536:
--

Assignee: Donal Evans

> StackOverflow can occur when Lucene IndexWriter is unable to be created
> ---
>
> Key: GEODE-8536
> URL: https://issues.apache.org/jira/browse/GEODE-8536
> Project: Geode
>  Issue Type: Bug
>  Components: functions, lucene
>Affects Versions: 1.12.0, 1.13.0, 1.14.0
>Reporter: Donal Evans
>Assignee: Donal Evans
>Priority: Major
>  Labels: pull-request-available
>
> If, during a call to IndexRepositoryFactory.computeIndexRepository(), an 
> IOException is encountered when attempting to construct an IndexWriter, the 
> function retry logic will reattempt the execution. This allows transient 
> exceptions caused by concurrent modification of the fileAndChunk region to be 
> ignored and subsequent executions to succeed (see GEODE-7703). However, if 
> the IOException is consistently thrown, the infinitely retrying function can 
> cause a StackOverflow:
> {noformat}
> java.lang.StackOverflowError
> at 
> org.apache.geode.SystemFailure.startWatchDog(SystemFailure.java:320)
> at 
> org.apache.geode.SystemFailure.notifyWatchDog(SystemFailure.java:758)
> at org.apache.geode.SystemFailure.setFailure(SystemFailure.java:813)
> at 
> org.apache.geode.SystemFailure.initiateFailure(SystemFailure.java:790)
> at 
> org.apache.geode.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2251)
> at 
> org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2031)
> at 
> org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2839)
> at 
> org.apache.geode.internal.cache.partitioned.PartitionedRegionFunctionStreamingMessage.toData(PartitionedRegionFunctionStreamingMessage.java:192)
> at 
> org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.invokeToData(DSFIDSerializerImpl.java:213)
> at 
> org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.write(DSFIDSerializerImpl.java:137)
> at 
> org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1484)
> at 
> org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:247)
> at 
> org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306)
> at 
> org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182)
> at 
> org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511)
> at 
> org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346)
> at 
> org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291)
> at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058)
> at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986)
> at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2023)
> at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083)
> at 
> org.apache.geode.internal.cache.execute.PartitionedRegionFunctionResultWaiter.getPartitionedDataFrom(PartitionedRegionFunctionResultWaiter.java:89)
> at 
> org.apache.geode.internal.cache.PartitionedRegion.executeOnAllBuckets(PartitionedRegion.java:4079)
> at 
> org.apache.geode.internal.cache.PartitionedRegion.executeFunction(PartitionedRegion.java:3583)
> at 
> org.apache.geode.internal.cache.execute.PartitionedRegionFunctionExecutor.executeFunction(PartitionedRegionFunctionExecutor.java:220)
> at 
> org.apache.geode.internal.cache.execute.AbstractExecution.execute(AbstractExecution.java:376)
> at 
> org.apache.geode.internal.cache.execute.AbstractExecution.execute(AbstractExecution.java:359)
> at 
> org.apache.geode.internal.cache.execute.LocalResultCollectorImpl.getResultInternal(LocalResultCollectorImpl.java:139)
> at 
> org.apache.geode.internal.cache.execute.ResultCollectorHolder.getResult(ResultCollectorHolder.java:53)
> at 
> org.apache.geode.internal.cache.execute.LocalResultCollectorImpl.getResult(LocalResultCollectorImpl.java:112)
> at 
> org.apache.geode.internal.cache.partitioned.PRFunctionStreamingResultCollector.getResultInternal(PRFunctionStreamingResultCollector.java:219)
> at 
> org.apache.geode.internal.cach

[jira] [Commented] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8604:


Commit 106d6b0d9b1b028bef2aa216c1b684efd068b835 in geode-native's branch 
refs/heads/develop from Blake Bender
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=106d6b0 ]

GEODE-8604: Fix documentation errors on Mac build (#673)

Co-authored-by: Blake Bender 

> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Assignee: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-8604:
---

pdxcodemonkey merged pull request #673:
URL: https://github.com/apache/geode-native/pull/673


   



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Assignee: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread Blake Bender (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Bender resolved GEODE-8604.
-
Resolution: Fixed

> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Assignee: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Closed] (GEODE-8604) -Wdocumentation errors on Mac

2020-10-12 Thread Blake Bender (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Bender closed GEODE-8604.
---

> -Wdocumentation errors on Mac
> -
>
> Key: GEODE-8604
> URL: https://issues.apache.org/jira/browse/GEODE-8604
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Blake Bender
>Assignee: Blake Bender
>Priority: Major
>  Labels: pull-request-available
>
> The recent fix for GEODE-8571 builds on all geode-native "supported" 
> platforms, but MacOS with clang 12 flags more stuff, so the Mac build is 
> broken on `develop`, which is a problem for many of our developers.  Need to 
> fix all the documentation warnings on MacOS.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7864) Code improvement refactoring

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7864:
---

lgtm-com[bot] commented on pull request #5582:
URL: https://github.com/apache/geode/pull/5582#issuecomment-707325531


   This pull request **fixes 108 alerts** when merging 
f8fb3a4429869e0bba7f4bbd11f1eec5b31e40a2 into 
e85a1bd450292eb3db098d826734e6ba64151ad0 - [view on 
LGTM.com](https://lgtm.com/projects/g/apache/geode/rev/pr-93ef6b048eceea362dae126a136d0d801f26ca7d)
   
   **fixed alerts:**
   
   * 68 for Potential input resource leak
   * 40 for Potential output resource leak



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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Code improvement refactoring
> 
>
> Key: GEODE-7864
> URL: https://issues.apache.org/jira/browse/GEODE-7864
> Project: Geode
>  Issue Type: Improvement
>Reporter: Nabarun Nag
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 13h 10m
>  Remaining Estimate: 0h
>
> This is a placeholder ticket.
>  * this is used to do refactoring.
>  * this ticket number is used to number the commit message.
>  * this ticket will never be closed.
>  * it will be used to mark improvements like correcting spelling mistakes, 
> efficient java code, etc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

mhansonp commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503523905



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/PartitionedRegionVersionException.java
##
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class PartitionedRegionVersionException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public PartitionedRegionVersionException() {
+super("A server's version was too old to a partition region clear");
+  }

Review comment:
   I have changed the exception to ServerVersionMismatchException(members, 
feature name) it now produces a message "A server's [oldMember] version was too 
old for : Partitioned Region Clear"
   





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

mhansonp commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503524100



##
File path: 
geode-core/src/upgradeTest/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgradePartitionRegionClearMixedServerPartitionedRegion.java
##
@@ -0,0 +1,410 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.cache.rollingupgrade;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.catchThrowable;
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.logging.log4j.Logger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized.UseParametersRunnerFactory;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.GemFireCache;
+import org.apache.geode.cache.PartitionedRegionVersionException;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.client.ClientRegionShortcut;
+import org.apache.geode.cache.client.ServerOperationException;
+import org.apache.geode.cache.server.CacheServer;
+import org.apache.geode.distributed.DistributedSystem;
+import org.apache.geode.distributed.internal.DistributionConfig;
+import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
+import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.logging.internal.log4j.api.LogService;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.Host;
+import org.apache.geode.test.dunit.IgnoredException;
+import org.apache.geode.test.dunit.Invoke;
+import org.apache.geode.test.dunit.NetworkUtils;
+import org.apache.geode.test.dunit.VM;
+import org.apache.geode.test.dunit.internal.DUnitLauncher;
+import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
+import 
org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
+import org.apache.geode.test.version.VersionManager;
+
+@RunWith(Parameterized.class)
+@UseParametersRunnerFactory(CategoryWithParameterizedRunnerFactory.class)
+public class RollingUpgradePartitionRegionClearMixedServerPartitionedRegion
+extends JUnit4DistributedTestCase {
+
+  protected static final Logger logger = LogService.getLogger();
+  protected static GemFireCache cache;
+  protected static ClientCache clientcache;
+
+  @Parameter
+  public String oldVersion;
+
+  @Parameters(name = "from_v{0}")
+  public static Collection data() {
+List result = 
VersionManager.getInstance().getVersionsWithoutCurrent();
+if (result.size() < 1) {
+  throw new RuntimeException("No older versions of Geode were found to 
test against");
+} else {
+  System.out.println("running against these versions: " + result);
+}
+return result;
+  }
+
+  @Test
+  public void testPutAndGetMixedServerPartitionedRegion() throws Exception {
+doTestPutAndGetMixedServers(oldVersion);
+  }
+
+  /**
+   * This test starts up multiple servers from the current code base and 
multiple servers from the
+   * old version and executes puts and gets on a new server and old server and 
verifies that the
+   * results are present. Note that the puts have overlapping region keys just 
to test new puts and
+   * replaces
+

[jira] [Commented] (GEODE-7864) Code improvement refactoring

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7864:
---

lgtm-com[bot] removed a comment on pull request #5582:
URL: https://github.com/apache/geode/pull/5582#issuecomment-703032244







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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Code improvement refactoring
> 
>
> Key: GEODE-7864
> URL: https://issues.apache.org/jira/browse/GEODE-7864
> Project: Geode
>  Issue Type: Improvement
>Reporter: Nabarun Nag
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 13h 10m
>  Remaining Estimate: 0h
>
> This is a placeholder ticket.
>  * this is used to do refactoring.
>  * this ticket number is used to number the commit message.
>  * this ticket will never be closed.
>  * it will be used to mark improvements like correcting spelling mistakes, 
> efficient java code, etc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

jinmeiliao commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503580065



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/ServerVersionMismatchException.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+import java.util.List;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1

Review comment:
   this is not correct since this is a new exception

##
File path: 
geode-core/src/main/java/org/apache/geode/cache/ServerVersionMismatchException.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+import java.util.List;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class ServerVersionMismatchException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public ServerVersionMismatchException(List members, String 
featureName,
+String version) {
+super("A server's " + members + " version was too old (< " + version + ") 
for : " + featureName);

Review comment:
   probably would be a good idea for this exception to only take a string 
message as an argument. Then situations using this exception is free to 
construct their own messages.

##
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionClear.java
##
@@ -288,8 +292,13 @@ protected void releaseClearLockLocal() {
   return bucketsOperated;
 }
 
+if (!partitionedRegion.allServerVersionsSupportPartitionRegionClear()) {
+  throw new PartitionedRegionVersionException();

Review comment:
   this is still throwing the old exception?

##
File path: 
geode-core/src/upgradeTest/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgradePartitionRegionClearMixedServerPartitionedRegion.java
##
@@ -0,0 +1,410 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.cache.rollingupgrade;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.catchThrowable;
+
+imp

[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

mhansonp commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503586849



##
File path: 
geode-core/src/main/java/org/apache/geode/cache/ServerVersionMismatchException.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache;
+
+import java.util.List;
+
+/**
+ * Indicates a failure to perform an operation on a Partitioned Region due to
+ * server versions not meeting requirements.
+ *
+ * @since GemFire 5.1
+ */
+public class ServerVersionMismatchException extends CacheRuntimeException {
+  private static final long serialVersionUID = -3004093739855972548L;
+
+  public ServerVersionMismatchException(List members, String 
featureName,
+String version) {
+super("A server's " + members + " version was too old (< " + version + ") 
for : " + featureName);

Review comment:
   At this point you are right, but I also think a little consistency and 
structure is not a bad thing either. We identified things that we wanted to be 
in the string. This makes those contractual.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-7845) Rollingupgrade should not conflict with the new ClearPRMessage

2020-10-12 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on GEODE-7845:
---

mhansonp commented on a change in pull request #5577:
URL: https://github.com/apache/geode/pull/5577#discussion_r503587366



##
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionClear.java
##
@@ -288,8 +292,13 @@ protected void releaseClearLockLocal() {
   return bucketsOperated;
 }
 
+if (!partitionedRegion.allServerVersionsSupportPartitionRegionClear()) {
+  throw new PartitionedRegionVersionException();

Review comment:
   nope that was a rebase error.





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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Rollingupgrade should not conflict with the new ClearPRMessage 
> ---
>
> Key: GEODE-7845
> URL: https://issues.apache.org/jira/browse/GEODE-7845
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Xiaojian Zhou
>Assignee: Mark Hanson
>Priority: Major
>  Labels: GeodeCommons, pull-request-available
>
> PartitionedRegion clear introduced a new ClearPRMessage. In case of doing 
> rolling upgrade, the user called PR.clear. The new ClearPRMessage should not 
> fail. It should not be sent to the old members. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)