[jira] [Commented] (GEODE-8512) Be able to specify 'expectDomainClass' when calling createPdxInstanceFactory
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)