[jira] [Created] (GEODE-9774) Function execution on partition region does not clear networkHop on exit

2021-10-26 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-9774:


 Summary: Function execution on partition region does not clear 
networkHop on exit
 Key: GEODE-9774
 URL: https://issues.apache.org/jira/browse/GEODE-9774
 Project: Geode
  Issue Type: Bug
  Components: functions
Reporter: Alberto Gomez


When executing a server function on a partitioned region, if a network hop is 
done during the execution of the function to access data from another server, 
the networkHop thread local variable on the PartitionedRegion instance will be 
set to either 1 or 2. Nevertheless, when the function returns, the variable 
will not be reset leaving a wrong value in it for subsequent requests.

As a result, subsequent requests handled by the same thread that executed the 
previous function will see the networkHop thread local variable with the value 
set previously by the function no matter if a network hop was required or not. 
In case of get/put/destroy/invalidate ,the server will return this information 
to the client indicating that it should update the metadata when it should not.

These will cause unnecessary requests from the client to update the metadata 
which could impact very negatively the performance of the system.



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


[jira] [Assigned] (GEODE-9774) Function execution on partition region does not clear networkHop on exit

2021-10-26 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-9774:


Assignee: Alberto Gomez

> Function execution on partition region does not clear networkHop on exit
> 
>
> Key: GEODE-9774
> URL: https://issues.apache.org/jira/browse/GEODE-9774
> Project: Geode
>  Issue Type: Bug
>  Components: functions
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> When executing a server function on a partitioned region, if a network hop is 
> done during the execution of the function to access data from another server, 
> the networkHop thread local variable on the PartitionedRegion instance will 
> be set to either 1 or 2. Nevertheless, when the function returns, the 
> variable will not be reset leaving a wrong value in it for subsequent 
> requests.
> As a result, subsequent requests handled by the same thread that executed the 
> previous function will see the networkHop thread local variable with the 
> value set previously by the function no matter if a network hop was required 
> or not. In case of get/put/destroy/invalidate ,the server will return this 
> information to the client indicating that it should update the metadata when 
> it should not.
> These will cause unnecessary requests from the client to update the metadata 
> which could impact very negatively the performance of the system.



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


[jira] [Updated] (GEODE-9774) Function execution on partition region does not clear networkHop on exit

2021-10-27 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-9774:
-
Description: 
When executing a server function on a partitioned region, if a network hop is 
done during the execution of the function to access data from another server, 
the networkHop thread local variable on the PartitionedRegion instance will be 
set to either 1 or 2. Nevertheless, when the function returns, the variable 
will not be reset leaving a wrong value in it for subsequent requests.

As a result, subsequent requests handled by the same thread that executed the 
previous function will see the networkHop thread local variable with the value 
set previously by the function no matter if a network hop was required or not. 
In case of get/put/destroy/invalidate, the server will return this information 
to the client indicating that it should update the metadata when it should not.

This will cause unnecessary requests from the client to update the metadata 
which could impact very negatively the performance of the system.

  was:
When executing a server function on a partitioned region, if a network hop is 
done during the execution of the function to access data from another server, 
the networkHop thread local variable on the PartitionedRegion instance will be 
set to either 1 or 2. Nevertheless, when the function returns, the variable 
will not be reset leaving a wrong value in it for subsequent requests.

As a result, subsequent requests handled by the same thread that executed the 
previous function will see the networkHop thread local variable with the value 
set previously by the function no matter if a network hop was required or not. 
In case of get/put/destroy/invalidate ,the server will return this information 
to the client indicating that it should update the metadata when it should not.

These will cause unnecessary requests from the client to update the metadata 
which could impact very negatively the performance of the system.


> Function execution on partition region does not clear networkHop on exit
> 
>
> Key: GEODE-9774
> URL: https://issues.apache.org/jira/browse/GEODE-9774
> Project: Geode
>  Issue Type: Bug
>  Components: functions
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> When executing a server function on a partitioned region, if a network hop is 
> done during the execution of the function to access data from another server, 
> the networkHop thread local variable on the PartitionedRegion instance will 
> be set to either 1 or 2. Nevertheless, when the function returns, the 
> variable will not be reset leaving a wrong value in it for subsequent 
> requests.
> As a result, subsequent requests handled by the same thread that executed the 
> previous function will see the networkHop thread local variable with the 
> value set previously by the function no matter if a network hop was required 
> or not. In case of get/put/destroy/invalidate, the server will return this 
> information to the client indicating that it should update the metadata when 
> it should not.
> This will cause unnecessary requests from the client to update the metadata 
> which could impact very negatively the performance of the system.



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


[jira] [Resolved] (GEODE-9774) Function execution on partition region does not clear networkHop on exit

2021-11-04 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9774.
--
Fix Version/s: 1.15.0
   Resolution: Fixed

> Function execution on partition region does not clear networkHop on exit
> 
>
> Key: GEODE-9774
> URL: https://issues.apache.org/jira/browse/GEODE-9774
> Project: Geode
>  Issue Type: Bug
>  Components: functions
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.15.0
>
>
> When executing a server function on a partitioned region, if a network hop is 
> done during the execution of the function to access data from another server, 
> the networkHop thread local variable on the PartitionedRegion instance will 
> be set to either 1 or 2. Nevertheless, when the function returns, the 
> variable will not be reset leaving a wrong value in it for subsequent 
> requests.
> As a result, subsequent requests handled by the same thread that executed the 
> previous function will see the networkHop thread local variable with the 
> value set previously by the function no matter if a network hop was required 
> or not. In case of get/put/destroy/invalidate, the server will return this 
> information to the client indicating that it should update the metadata when 
> it should not.
> This will cause unnecessary requests from the client to update the metadata 
> which could impact very negatively the performance of the system.



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


[jira] [Created] (GEODE-9807) Gfsh stop gateway sender command done in parallel

2021-11-12 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-9807:


 Summary: Gfsh stop gateway sender command done in parallel
 Key: GEODE-9807
 URL: https://issues.apache.org/jira/browse/GEODE-9807
 Project: Geode
  Issue Type: Improvement
  Components: gfsh, wan
Reporter: Alberto Gomez


Currently, the gfsh stop gateway sender command stops serially the gateway 
sender on each server.

The higher the number of Geode servers in the system, the longer the command 
will take.

This process can take very long specially in deployments with a lot of Geode 
servers and this can be aggravated if the receiving side is not available 
(connections to the remote site are timing out).

It is proposed to implement the stopping of gateway senders in gfsh in parallel 
just as it is done by the start gateway sender gfsh command.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-9807) Gfsh stop gateway sender command done in parallel

2021-11-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-9807:


Assignee: Alberto Gomez

> Gfsh stop gateway sender command done in parallel
> -
>
> Key: GEODE-9807
> URL: https://issues.apache.org/jira/browse/GEODE-9807
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> Currently, the gfsh stop gateway sender command stops serially the gateway 
> sender on each server.
> The higher the number of Geode servers in the system, the longer the command 
> will take.
> This process can take very long specially in deployments with a lot of Geode 
> servers and this can be aggravated if the receiving side is not available 
> (connections to the remote site are timing out).
> It is proposed to implement the stopping of gateway senders in gfsh in 
> parallel just as it is done by the start gateway sender gfsh command.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (GEODE-9807) Gfsh stop gateway sender command in parallel

2021-11-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-9807:
-
Summary: Gfsh stop gateway sender command in parallel  (was: Gfsh stop 
gateway sender command done in parallel)

> Gfsh stop gateway sender command in parallel
> 
>
> Key: GEODE-9807
> URL: https://issues.apache.org/jira/browse/GEODE-9807
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> Currently, the gfsh stop gateway sender command stops serially the gateway 
> sender on each server.
> The higher the number of Geode servers in the system, the longer the command 
> will take.
> This process can take very long specially in deployments with a lot of Geode 
> servers and this can be aggravated if the receiving side is not available 
> (connections to the remote site are timing out).
> It is proposed to implement the stopping of gateway senders in gfsh in 
> parallel just as it is done by the start gateway sender gfsh command.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9369) Command to copy region entries from a WAN site to another.

2021-11-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9369.
--
Resolution: Fixed

> Command to copy region entries from a WAN site to another.
> --
>
> Key: GEODE-9369
> URL: https://issues.apache.org/jira/browse/GEODE-9369
> Project: Geode
>  Issue Type: New Feature
>  Components: wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> As described in RFC: 
> [https://cwiki.apache.org/confluence/display/GEODE/Geode+Command+to+replicate+region+data+from+one+site+to+another+connected+via+WAN]
> it is proposed to implement a command that copies the entries of a region in 
> a WAN site to the same region in another WAN site by using WAN replication.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-8971) Batches with incomplete transactions when stopping the gateway sender

2021-11-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-8971.
--
Resolution: Fixed

> Batches with incomplete transactions when stopping the gateway sender
> -
>
> Key: GEODE-8971
> URL: https://issues.apache.org/jira/browse/GEODE-8971
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Affects Versions: 1.14.0
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
>
> When the gateway sender is stopped there is a high probability that batches 
> with incomplete transactions are sent even if group-transaction-events is 
> enabled.
> The reason is that once the stop command reaches the gateway sender, it 
> immediately stops queueing events, and this could happen in the middle of 
> receiving events for the same transaction. If this is the case, some events 
> for the transaction may have reached the queue right before the stop command 
> was received and the rest of events for that transaction would not make it to 
> the queue (they would be dropped) because they arrived right after the stop 
> command was received at the gateway sender.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-9852) Modularize WAN TX grouping feature

2021-11-24 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-9852:


Assignee: Alberto Gomez

> Modularize WAN TX grouping feature
> --
>
> Key: GEODE-9852
> URL: https://issues.apache.org/jira/browse/GEODE-9852
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-9852) Modularize WAN TX grouping feature

2021-11-24 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-9852:


 Summary: Modularize WAN TX grouping feature
 Key: GEODE-9852
 URL: https://issues.apache.org/jira/browse/GEODE-9852
 Project: Geode
  Issue Type: Improvement
  Components: wan
Reporter: Alberto Gomez






--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9735) Avoid wan-copy region command to copy entries updated after it started

2022-01-11 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9735.
--
Fix Version/s: 1.15.0
   Resolution: Fixed

> Avoid wan-copy region command to copy entries updated after it started
> --
>
> Key: GEODE-9735
> URL: https://issues.apache.org/jira/browse/GEODE-9735
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The wan-copy region command must not copy entries that have been created or 
> updated after the command has started to copy entries.
> There are two reasons for this:
>  * Efficiency: entries copied after the command has been started will be 
> replicated by the gateway sender anyway so the copying of these entries by 
> the command will be a waste of processing resources and duplicated events 
> will arrive to the remote site.
>  * Problematic reordering of events in the receiving side: if an entry is 
> modified in the same millisecond in the source site and the wan-copy region 
> command tries to copy this entry, it might happen that the command reads the 
> first version of the entry and sends it to the remote site. The gateway 
> sender will also send two events to the remote site, one with the first 
> version of the entry and one with the second. If the event of the wan-copy 
> region command containing the first version of the entry arrives to the 
> remote site after the second event sent by the gateway sender, it will 
> overwrite the second version causing an inconsistency between the two sites. 
> The reason is that the granularity of the timestamp of events is of 
> milliseconds and therefore the conflict resolver on the receiving side will 
> not be able to detect that the event sent by the command is prior to the one 
> received by the gateway sender.
> If entries updated while the command is running are not copied by the 
> command, this problem is avoided.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-6971) Update CqAttributesFactory to be a fluid API

2022-01-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-6971:


Assignee: (was: Alberto Gomez)

> Update CqAttributesFactory to be a fluid API
> 
>
> Key: GEODE-6971
> URL: https://issues.apache.org/jira/browse/GEODE-6971
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Charlie Black
>Priority: Major
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> CQAttributes does not currently support fluid API (like ClientCacheFactory 
> and ClientRegionFactory). In the ideal world, I'd like to do something like 
> the following
> {{CqAttributes cqa = new CqAttributesFactory()}}{{   }}
> {{   .addCqListener(new SimpleCQListener())}}
> {{   .create();}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-7573) Issues with TrasactionIds managed by CacheTransactionManager in C++ native client

2022-01-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7573:


Assignee: (was: Alberto Gomez)

> Issues with TrasactionIds managed by CacheTransactionManager in C++ native 
> client
> -
>
> Key: GEODE-7573
> URL: https://issues.apache.org/jira/browse/GEODE-7573
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Priority: Major
>
> There are several problems related to the TransactionIds managed by the 
> CacheTransactionManager class:
>  
> On the one hand, according to the documentation, the 
> CacheTransactionManager::getTransactionId() returns null if no transaction is 
> associated to the thread but according to the signature of the method the 
> object returned is of type TransactionId&. Therefore, there is no possibility 
> to return null. The same applies to the 
> CacheTransactionManager::getTransactionId() method.
>  
> If we go to the implementation classes, the following is observed:
> If CacheTransactionManagerImpl::suspend() is invoked and there is no 
> transaction in progress a TransactionException is thrown. This must be 
> documented instead of the current information that states that a null pointer 
> is returned.
> If CacheTransactionManagerImpl::getTransactionId() is invoked and there is no 
> transaction in progress what we get is a segmentation fault because the 
> TXState that should provide the TransactionId object is null. In my opinion 
> the code should be changed to throw an exception just as it is done when 
> suspend() is invoked and there is no transaction in progress.
>  
> On the other hand, once a transaction has been commited, a valid 
> TransactionId reference returned previously by either suspend() or 
> getTransactionId() becomes invalid because the commit of the transaction 
> deletes the object (which is stored in the TXState that is destroyed at 
> commit).
> Subsequent uses of the TransacionId once the transaction is commited like it 
> is done in the testThinClientTransactionsWithSticky integration test (for 
> example calling exists() or resume()) would access freed memory.
> Unawareness of this may cause unexpected behavior in the client code and 
> should be avoided. Two alternatives are proposed:
>  * Document in the C++ API that TransactionId references returned by 
> CacheTransactionManager should not be used after the transaction is commited.
>  * Change the type of object returned/managed to a TransactionId shared 
> pointer.
> The problem with the second approach is that it involves a change in the API 
> so the first alternative is the recommended one.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-9971) Fix ping distributed test case after switching from docker-compose to testcontainers

2022-01-18 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-9971:


Assignee: Alberto Gomez

> Fix ping distributed test case after switching from docker-compose to 
> testcontainers
> 
>
> Key: GEODE-9971
> URL: https://issues.apache.org/jira/browse/GEODE-9971
> Project: Geode
>  Issue Type: Bug
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> Due to the changes done by GEODE-9156 to switch from docker-compose to 
> testcontainers test case  
> testPingsToReceiversWithSamePortAndHostnameForSendersReachTheRightReceivers 
> from 
> SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest was not working 
> properly even though it was failing.
> The test must be enhanced to check that entries are wan replicated to the 
> other site (for example by checking that entries added locally do not leave 
> events in the gateway sender queues).
> After that, the code of the test must be fixed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-9971) Fix ping distributed test case after switching from docker-compose to testcontainers

2022-01-18 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-9971:


 Summary: Fix ping distributed test case after switching from 
docker-compose to testcontainers
 Key: GEODE-9971
 URL: https://issues.apache.org/jira/browse/GEODE-9971
 Project: Geode
  Issue Type: Bug
Reporter: Alberto Gomez


Due to the changes done by GEODE-9156 to switch from docker-compose to 
testcontainers test case  
testPingsToReceiversWithSamePortAndHostnameForSendersReachTheRightReceivers 
from 

SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest was not working 
properly even though it was failing.

The test must be enhanced to check that entries are wan replicated to the other 
site (for example by checking that entries added locally do not leave events in 
the gateway sender queues).

After that, the code of the test must be fixed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-9973) Documentation: socket-lease-time is not used to return sockets to a pool but to close them

2022-01-18 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-9973:


 Summary: Documentation: socket-lease-time is not used to return 
sockets to a pool but to close them
 Key: GEODE-9973
 URL: https://issues.apache.org/jira/browse/GEODE-9973
 Project: Geode
  Issue Type: Bug
  Components: docs
Reporter: Alberto Gomez


The "Making sure you have enough sockets" Geode documentation section says the 
following about socket-lease-time (check underlined sentence):

 

Peer-to-peer. For peer-to-peer threads that do not share sockets, you can use 
the socket-lease-time to make sure that no socket sits idle for too long. +When 
a socket that belongs to an individual thread remains unused for this time 
period, the system automatically returns it to the pool.+ The next time the 
thread needs a socket, it creates a new socket.

 

Actually, the system automatically closes the connection in the situation 
described instead of returning it to any pool.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9971) Fix ping distributed test case after switching from docker-compose to testcontainers

2022-01-18 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9971.
--
Fix Version/s: 1.15.0
   Resolution: Fixed

> Fix ping distributed test case after switching from docker-compose to 
> testcontainers
> 
>
> Key: GEODE-9971
> URL: https://issues.apache.org/jira/browse/GEODE-9971
> Project: Geode
>  Issue Type: Bug
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.15.0
>
>
> Due to the changes done by GEODE-9156 to switch from docker-compose to 
> testcontainers test case  
> testPingsToReceiversWithSamePortAndHostnameForSendersReachTheRightReceivers 
> from 
> SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest was not working 
> properly even though it was failing.
> The test must be enhanced to check that entries are wan replicated to the 
> other site (for example by checking that entries added locally do not leave 
> events in the gateway sender queues).
> After that, the code of the test must be fixed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9807) Gfsh stop gateway sender command in parallel

2022-01-19 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9807.
--
Fix Version/s: 1.15.0
   Resolution: Fixed

> Gfsh stop gateway sender command in parallel
> 
>
> Key: GEODE-9807
> URL: https://issues.apache.org/jira/browse/GEODE-9807
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> Currently, the gfsh stop gateway sender command stops serially the gateway 
> sender on each server.
> The higher the number of Geode servers in the system, the longer the command 
> will take.
> This process can take very long specially in deployments with a lot of Geode 
> servers and this can be aggravated if the receiving side is not available 
> (connections to the remote site are timing out).
> It is proposed to implement the stopping of gateway senders in gfsh in 
> parallel just as it is done by the start gateway sender gfsh command.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (GEODE-9973) Documentation: socket-lease-time is not used to return sockets to a pool but to close them

2022-01-21 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-9973:
--

[~dbarnes] and [~amurmann] . I do not think this has changed recently. It was 
probably like this from the beginning but i cannot confirm it.

> Documentation: socket-lease-time is not used to return sockets to a pool but 
> to close them
> --
>
> Key: GEODE-9973
> URL: https://issues.apache.org/jira/browse/GEODE-9973
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Donal Evans
>Priority: Major
>  Labels: pull-request-available
>
> The "Making sure you have enough sockets" Geode documentation section says 
> the following about socket-lease-time (check underlined sentence):
>  
> Peer-to-peer. For peer-to-peer threads that do not share sockets, you can use 
> the socket-lease-time to make sure that no socket sits idle for too long. 
> +When a socket that belongs to an individual thread remains unused for this 
> time period, the system automatically returns it to the pool.+ The next time 
> the thread needs a socket, it creates a new socket.
>  
> Actually, the system automatically closes the connection in the situation 
> described instead of returning it to any pool.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (GEODE-9973) Documentation: socket-lease-time is not used to return sockets to a pool but to close them

2022-01-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-9973:
--

[~donalevans]  I

The org.apache.geode.internal.tcp.ConnectionTable class schedules an 
idle-connection timeout task for each connection it manages if the idle-timeout 
for the connection is not zero. This task (IdleConnTT) periodically calls the 
checkForIdleTimeout() method of the connection calling in turn 
closeForReconnect() (which closes the connection) when it detects that the 
connection has been idle for longer than the idleTimeout.

The idleConnectionTimeout value for a Connection is obtained from the 
TCPConduit member of the connection by calling the getIdleTimeout() method. 
This idleConnectionTimeout in TCPConduit is initialized to 
DEFAULT_SOCKET_LEASE_TIME and can be overridden by the 
p2p.idleConnectionTimeout property. And the value for this property is set with 
the value of socket-lease-time coming from the configuration 
(DistributionConfig) in the constructor of DirectChannel when it creates a new 
TCPConduit .

 

 

> Documentation: socket-lease-time is not used to return sockets to a pool but 
> to close them
> --
>
> Key: GEODE-9973
> URL: https://issues.apache.org/jira/browse/GEODE-9973
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Donal Evans
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The "Making sure you have enough sockets" Geode documentation section says 
> the following about socket-lease-time (check underlined sentence):
>  
> Peer-to-peer. For peer-to-peer threads that do not share sockets, you can use 
> the socket-lease-time to make sure that no socket sits idle for too long. 
> +When a socket that belongs to an individual thread remains unused for this 
> time period, the system automatically returns it to the pool.+ The next time 
> the thread needs a socket, it creates a new socket.
>  
> Actually, the system automatically closes the connection in the situation 
> described instead of returning it to any pool.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Comment Edited] (GEODE-9973) Documentation: socket-lease-time is not used to return sockets to a pool but to close them

2022-01-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez edited comment on GEODE-9973 at 1/25/22, 9:12 AM:


[~donalevans] The org.apache.geode.internal.tcp.ConnectionTable class schedules 
an idle-connection timeout task for each connection, it manages if the 
idle-timeout for the connection is not zero. This task (IdleConnTT) 
periodically calls the checkForIdleTimeout() method of the connection calling 
in turn closeForReconnect() (which closes the connection) when it detects that 
the connection has been idle for longer than the idleTimeout.

The idleConnectionTimeout value for a Connection is obtained from the 
TCPConduit member of the connection by calling the getIdleTimeout() method. 
This idleConnectionTimeout in TCPConduit is initialized to 
DEFAULT_SOCKET_LEASE_TIME and can be overridden by the 
p2p.idleConnectionTimeout property if set. And the value for this property is 
set with the value of socket-lease-time coming from the configuration 
(DistributionConfig) in the constructor of DirectChannel when it creates a new 
TCPConduit .

 

 


was (Author: alberto.gomez):
[~donalevans]  I

The org.apache.geode.internal.tcp.ConnectionTable class schedules an 
idle-connection timeout task for each connection it manages if the idle-timeout 
for the connection is not zero. This task (IdleConnTT) periodically calls the 
checkForIdleTimeout() method of the connection calling in turn 
closeForReconnect() (which closes the connection) when it detects that the 
connection has been idle for longer than the idleTimeout.

The idleConnectionTimeout value for a Connection is obtained from the 
TCPConduit member of the connection by calling the getIdleTimeout() method. 
This idleConnectionTimeout in TCPConduit is initialized to 
DEFAULT_SOCKET_LEASE_TIME and can be overridden by the 
p2p.idleConnectionTimeout property. And the value for this property is set with 
the value of socket-lease-time coming from the configuration 
(DistributionConfig) in the constructor of DirectChannel when it creates a new 
TCPConduit .

 

 

> Documentation: socket-lease-time is not used to return sockets to a pool but 
> to close them
> --
>
> Key: GEODE-9973
> URL: https://issues.apache.org/jira/browse/GEODE-9973
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Donal Evans
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The "Making sure you have enough sockets" Geode documentation section says 
> the following about socket-lease-time (check underlined sentence):
>  
> Peer-to-peer. For peer-to-peer threads that do not share sockets, you can use 
> the socket-lease-time to make sure that no socket sits idle for too long. 
> +When a socket that belongs to an individual thread remains unused for this 
> time period, the system automatically returns it to the pool.+ The next time 
> the thread needs a socket, it creates a new socket.
>  
> Actually, the system automatically closes the connection in the situation 
> described instead of returning it to any pool.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Comment Edited] (GEODE-9973) Documentation: socket-lease-time is not used to return sockets to a pool but to close them

2022-01-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez edited comment on GEODE-9973 at 1/25/22, 10:50 AM:
-

[~donalevans] The org.apache.geode.internal.tcp.ConnectionTable class schedules 
an idle-connection timeout task for each connection it manages, if the 
idle-timeout for the connection is not zero. This task (IdleConnTT) 
periodically calls the checkForIdleTimeout() method of the connection calling 
in turn closeForReconnect() (which closes the connection) when it detects that 
the connection has been idle for longer than the idleTimeout.

The idleConnectionTimeout value for a Connection is obtained from the 
TCPConduit member of the connection by calling the getIdleTimeout() method. 
This idleConnectionTimeout in TCPConduit is initialized to 
DEFAULT_SOCKET_LEASE_TIME and can be overridden by the 
p2p.idleConnectionTimeout property if set. And the value for this property is 
set with the value of socket-lease-time coming from the configuration 
(DistributionConfig) in the constructor of DirectChannel when it creates a new 
TCPConduit .

 

 


was (Author: alberto.gomez):
[~donalevans] The org.apache.geode.internal.tcp.ConnectionTable class schedules 
an idle-connection timeout task for each connection, it manages if the 
idle-timeout for the connection is not zero. This task (IdleConnTT) 
periodically calls the checkForIdleTimeout() method of the connection calling 
in turn closeForReconnect() (which closes the connection) when it detects that 
the connection has been idle for longer than the idleTimeout.

The idleConnectionTimeout value for a Connection is obtained from the 
TCPConduit member of the connection by calling the getIdleTimeout() method. 
This idleConnectionTimeout in TCPConduit is initialized to 
DEFAULT_SOCKET_LEASE_TIME and can be overridden by the 
p2p.idleConnectionTimeout property if set. And the value for this property is 
set with the value of socket-lease-time coming from the configuration 
(DistributionConfig) in the constructor of DirectChannel when it creates a new 
TCPConduit .

 

 

> Documentation: socket-lease-time is not used to return sockets to a pool but 
> to close them
> --
>
> Key: GEODE-9973
> URL: https://issues.apache.org/jira/browse/GEODE-9973
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Donal Evans
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The "Making sure you have enough sockets" Geode documentation section says 
> the following about socket-lease-time (check underlined sentence):
>  
> Peer-to-peer. For peer-to-peer threads that do not share sockets, you can use 
> the socket-lease-time to make sure that no socket sits idle for too long. 
> +When a socket that belongs to an individual thread remains unused for this 
> time period, the system automatically returns it to the pool.+ The next time 
> the thread needs a socket, it creates a new socket.
>  
> Actually, the system automatically closes the connection in the situation 
> described instead of returning it to any pool.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-9984) Mass-Test-Run: WanCopyRegionCommandDUnitTest > testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted FAILED

2022-01-26 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-9984:


Assignee: Alberto Gomez

> Mass-Test-Run: WanCopyRegionCommandDUnitTest > 
> testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted FAILED
> -
>
> Key: GEODE-9984
> URL: https://issues.apache.org/jira/browse/GEODE-9984
> Project: Geode
>  Issue Type: Bug
>Affects Versions: 1.15.0
>Reporter: Kristen
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> WanCopyRegionCommandDUnitTest > 
> testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted(true, true) [0] FAILED
> org.opentest4j.AssertionFailedError: 
> expected: 5
>  but was: 50001
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
> at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at 
> org.apache.geode.cache.wan.internal.cli.commands.WanCopyRegionCommandDUnitTest.testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted(WanCopyRegionCommandDUnitTest.java:884)
> 948 tests completed, 1 failed, 59 skipped
> Test report artifacts from this job are available at: 
> [*http://files.apachegeode-ci.info/builds/apache-develop-mass-test-run/1.15.0-build.0806/test-artifacts/1642850654/distributedtestfiles-openjdk8-1.15.0-build.0806.tgz*]
>  
>  
>  
> May be an issue similar or related to 
> https://issues.apache.org/jira/browse/GEODE-9859.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9859) Mass-Test-Run: WanCopyRegionCommandDUnitTest.testRegionDestroyedDuringExecution(false, false) [0] FAILED

2022-01-26 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9859.
--
Fix Version/s: 1.16.0
   Resolution: Fixed

> Mass-Test-Run: 
> WanCopyRegionCommandDUnitTest.testRegionDestroyedDuringExecution(false, 
> false) [0] FAILED
> 
>
> Key: GEODE-9859
> URL: https://issues.apache.org/jira/browse/GEODE-9859
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Affects Versions: 1.15.0
>Reporter: Mark Hanson
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.16.0
>
>
> Looks like this might be failing from the original PR. I have linked to 
> GEODE-9369 as the most likely origination.
>  
> {noformat}
> WanCopyRegionCommandDUnitTest > testRegionDestroyedDuringExecution(false, 
> false) [0] FAILED
>     java.lang.AssertionError: 
>     Expecting elements:
>       ["Execution failed. Error: 
> org.apache.geode.cache.EntryDestroyedException: 937"]
>     to have exactly 1 times execution error
>         at 
> org.apache.geode.cache.wan.internal.cli.commands.WanCopyRegionCommandDUnitTest.testRegionDestroyedDuringExecution(WanCopyRegionCommandDUnitTest.java:450)
>  {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10000) Avoid gfsh stop gateway sender error when stopped a second time

2022-01-28 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-1:
-

Assignee: Alberto Gomez

> Avoid gfsh stop gateway sender error when stopped a second time
> ---
>
> Key: GEODE-1
> URL: https://issues.apache.org/jira/browse/GEODE-1
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> After changing the implementation of the "stop gateway sender" command to be 
> parallel, when it is invoked a second time it fails with the following error:
> Error while processing command  Reason : 
> Task java.util.concurrent.FutureTask@513d30f9 rejected from 
> java.util.concurrent.ThreadPoolExecutor@85189b9[Terminated, pool size = 0, 
> active threads = 0, queued tasks = 0, completed tasks = 2]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10000) Avoid gfsh stop gateway sender error when stopped a second time

2022-01-28 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-1:
-

 Summary: Avoid gfsh stop gateway sender error when stopped a 
second time
 Key: GEODE-1
 URL: https://issues.apache.org/jira/browse/GEODE-1
 Project: Geode
  Issue Type: Bug
  Components: gfsh, wan
Reporter: Alberto Gomez


After changing the implementation of the "stop gateway sender" command to be 
parallel, when it is invoked a second time it fails with the following error:

Error while processing command  Reason : Task 
java.util.concurrent.FutureTask@513d30f9 rejected from 
java.util.concurrent.ThreadPoolExecutor@85189b9[Terminated, pool size = 0, 
active threads = 0, queued tasks = 0, completed tasks = 2]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10002) Document recommendation but not obligation for parallel gateway sender to share disk store with region

2022-01-31 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10002:
-

 Summary: Document recommendation but not obligation for parallel 
gateway sender to share disk store with region
 Key: GEODE-10002
 URL: https://issues.apache.org/jira/browse/GEODE-10002
 Project: Geode
  Issue Type: Bug
  Components: docs, wan
Reporter: Alberto Gomez


As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly" having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is recommended to change the statement from an 
obligation to a recommendation giving the reasons for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (GEODE-10002) Document recommendation but not obligation for parallel gateway sender to share disk store with region

2022-01-31 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-10002:
--
Description: 
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly", having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is recommended to change the statement from an 
obligation to a recommendation giving the reasons for it.

  was:
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly" having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is recommended to change the statement from an 
obligation to a recommendation giving the reasons for it.


> Document recommendation but not obligation for parallel gateway sender to 
> share disk store with region
> --
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> Even though it is true that "parallel gateway sender queues must be colocated 
> with their regions to operate correctly", having different disk stores for 
> the region and for the parallel gateway sender queues does not prevent them 
> from being colocated and therefore to operate correctly.
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is recommended to change the statement from an 
> obligation to a recommendation giving the reasons for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (GEODE-10002) Document recommendation but not obligation for parallel gateway sender to share disk store with region

2022-01-31 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-10002:
--
Description: 
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly", having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is proposed to change the statement from an obligation 
to a recommendation giving the reasons for it.

  was:
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly", having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is recommended to change the statement from an 
obligation to a recommendation giving the reasons for it.


> Document recommendation but not obligation for parallel gateway sender to 
> share disk store with region
> --
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> Even though it is true that "parallel gateway sender queues must be colocated 
> with their regions to operate correctly", having different disk stores for 
> the region and for the parallel gateway sender queues does not prevent them 
> from being colocated and therefore to operate correctly.
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is proposed to change the statement from an 
> obligation to a recommendation giving the reasons for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10008) Avoid possible EntryDestroyedException error in wan-copy region command when entry destroyed in partitioned region

2022-02-01 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10008:
-

 Summary: Avoid possible EntryDestroyedException error in wan-copy 
region command when entry destroyed in partitioned region
 Key: GEODE-10008
 URL: https://issues.apache.org/jira/browse/GEODE-10008
 Project: Geode
  Issue Type: Bug
  Components: gfsh, wan
Reporter: Alberto Gomez


When the wan-copy region command is executed over a partitioned region, it is 
possible that sometimes an EntryDestroyedException error is found if, while 
reading the entries from the region, one of them is destroyed.

The error has been seen sometimes when running the following test:

WanCopyRegionCommandDUnitTest.

testSuccessfulExecutionWhileRunningOpsOnRegion(true, true).

 

Log of the error:

Multiple Failures (2 failures)
    org.opentest4j.AssertionFailedError: [            Member             | 
Status | Message
-- | -- | 
---
alberto-dell(421543):41010 | ERROR  | Execution failed. Error: 
org.apache.geode.cache.EntryDestroyedException: 26
alberto-dell(421504):41009 | OK     | Entries copied: 2,977
alberto-dell(421598):41011 | OK     | Entries copied: 3,042
] 
expected: OK
 but was: ERROR
    java.lang.AssertionError: Suspicious strings were written to the log during 
this run.
Fix the strings or use IgnoredException.addIgnoredException to ignore.
---
Found suspect string in 'dunit_suspect-vm6.log' at line 1883

[error 2022/02/01 08:58:59.046 CET  tid=99] 
Exception occurred attempting to wan-copy region
java.util.concurrent.ExecutionException: 
org.apache.geode.cache.EntryDestroyedException: 26
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at 
org.apache.geode.cache.wan.internal.WanCopyRegionFunctionService.execute(WanCopyRegionFunctionService.java:90)
    at 
org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunctionInService(WanCopyRegionFunction.java:163)
    at 
org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunction(WanCopyRegionFunction.java:157)
    at org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:37)
    at 
org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
    at 
org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
    at 
org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:447)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at 
org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
    at 
org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:379)
    at 
org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.geode.cache.EntryDestroyedException: 26
    at 
org.apache.geode.internal.cache.NonTXEntry.basicGetEntry(NonTXEntry.java:62)
    at org.apache.geode.internal.cache.NonTXEntry.getRegion(NonTXEntry.java:119)
    at org.apache.geode.internal.cache.NonTXEntry.hashCode(NonTXEntry.java:157)
    at java.util.HashMap.hash(HashMap.java:340)
    at java.util.HashMap.put(HashMap.java:613)
    at java.util.HashSet.add(HashSet.java:220)
    at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)
    at 
java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at 
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
    at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
    at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1580)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
    at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
    at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
    at 
org.apache.geode.management.internal.cli.functions.WanCopyRegionFunctionDelegate.getEntries(WanCopyRegionFunctionDelegate.java:193)
    at 
org.apache.geode.management.internal.cli.functions.WanCopyRegionFunctionDelegate.wanCopyRegion(WanCopyRegionFunctionDelegate.java:104)
    at 
org.apache.geode.

[jira] [Assigned] (GEODE-10008) Avoid possible EntryDestroyedException error in wan-copy region command when entry destroyed in partitioned region

2022-02-01 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10008:
-

Assignee: Alberto Gomez

> Avoid possible EntryDestroyedException error in wan-copy region command when 
> entry destroyed in partitioned region
> --
>
> Key: GEODE-10008
> URL: https://issues.apache.org/jira/browse/GEODE-10008
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> When the wan-copy region command is executed over a partitioned region, it is 
> possible that sometimes an EntryDestroyedException error is found if, while 
> reading the entries from the region, one of them is destroyed.
> The error has been seen sometimes when running the following test:
> WanCopyRegionCommandDUnitTest.
> testSuccessfulExecutionWhileRunningOpsOnRegion(true, true).
>  
> Log of the error:
> Multiple Failures (2 failures)
>     org.opentest4j.AssertionFailedError: [            Member             | 
> Status | Message
> -- | -- | 
> ---
> alberto-dell(421543):41010 | ERROR  | Execution failed. Error: 
> org.apache.geode.cache.EntryDestroyedException: 26
> alberto-dell(421504):41009 | OK     | Entries copied: 2,977
> alberto-dell(421598):41011 | OK     | Entries copied: 3,042
> ] 
> expected: OK
>  but was: ERROR
>     java.lang.AssertionError: Suspicious strings were written to the log 
> during this run.
> Fix the strings or use IgnoredException.addIgnoredException to ignore.
> ---
> Found suspect string in 'dunit_suspect-vm6.log' at line 1883
> [error 2022/02/01 08:58:59.046 CET  tid=99] 
> Exception occurred attempting to wan-copy region
> java.util.concurrent.ExecutionException: 
> org.apache.geode.cache.EntryDestroyedException: 26
>     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>     at 
> org.apache.geode.cache.wan.internal.WanCopyRegionFunctionService.execute(WanCopyRegionFunctionService.java:90)
>     at 
> org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunctionInService(WanCopyRegionFunction.java:163)
>     at 
> org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunction(WanCopyRegionFunction.java:157)
>     at 
> org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:37)
>     at 
> org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:447)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at 
> org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
>     at 
> org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:379)
>     at 
> org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.geode.cache.EntryDestroyedException: 26
>     at 
> org.apache.geode.internal.cache.NonTXEntry.basicGetEntry(NonTXEntry.java:62)
>     at 
> org.apache.geode.internal.cache.NonTXEntry.getRegion(NonTXEntry.java:119)
>     at 
> org.apache.geode.internal.cache.NonTXEntry.hashCode(NonTXEntry.java:157)
>     at java.util.HashMap.hash(HashMap.java:340)
>     at java.util.HashMap.put(HashMap.java:613)
>     at java.util.HashSet.add(HashSet.java:220)
>     at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
>     at java.util.Iterator.forEachRemaining(Iterator.java:116)
>     at 
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
>     at 
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
>     at 
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
>     at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1580)
>     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
>     at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
>     at 
> java.util.s

[jira] [Assigned] (GEODE-10002) Document recommendation but not obligation for parallel gateway sender to share disk store with region

2022-02-07 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10002:
-

Assignee: Alberto Gomez

> Document recommendation but not obligation for parallel gateway sender to 
> share disk store with region
> --
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> Even though it is true that "parallel gateway sender queues must be colocated 
> with their regions to operate correctly", having different disk stores for 
> the region and for the parallel gateway sender queues does not prevent them 
> from being colocated and therefore to operate correctly.
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is proposed to change the statement from an 
> obligation to a recommendation giving the reasons for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (GEODE-10002) Remove from documentation obligation for parallel gateway sender to share disk store with region

2022-02-15 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-10002:
--
Summary: Remove from documentation obligation for parallel gateway sender 
to share disk store with region  (was: Document recommendation but not 
obligation for parallel gateway sender to share disk store with region)

> Remove from documentation obligation for parallel gateway sender to share 
> disk store with region
> 
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> Even though it is true that "parallel gateway sender queues must be colocated 
> with their regions to operate correctly", having different disk stores for 
> the region and for the parallel gateway sender queues does not prevent them 
> from being colocated and therefore to operate correctly.
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is proposed to change the statement from an 
> obligation to a recommendation giving the reasons for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (GEODE-10002) Remove from documentation obligation for parallel gateway sender to share disk store with region

2022-02-15 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-10002:
--
Description: 
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is proposed to change the statement from an obligation 
to a recommendation giving the reasons for it or completely removing the 
obligation.

  was:
As a result of GEODE-7997, it was documented that "the persisted data from a 
parallel gateway sender must go to the same disk store as used by the region, 
because parallel gateway sender queues must be colocated with their regions
to operate correctly.".

Even though it is true that "parallel gateway sender queues must be colocated 
with their regions to operate correctly", having different disk stores for the 
region and for the parallel gateway sender queues does not prevent them from 
being colocated and therefore to operate correctly.

As stated in the Activity in the original ticket by Dan Smith, "The only issue 
with separating the data into two separate disk stores is that manually 
deleting the files for just one of the disk stores could cause a hang on 
startup looking for the missing disk store. We recommend keeping all of the 
colocated data together."

Given that the current statement in the documentation adds a non compatible 
change to previous versions and also that the given restriction prevents from 
the independent management of the disk used by the region and by the parallel 
gateway sender queues it is proposed to change the statement from an obligation 
to a recommendation giving the reasons for it.


> Remove from documentation obligation for parallel gateway sender to share 
> disk store with region
> 
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is proposed to change the statement from an 
> obligation to a recommendation giving the reasons for it or completely 
> removing the obligation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-10002) Remove from documentation obligation for parallel gateway sender to share disk store with region

2022-02-15 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-10002.
---
Fix Version/s: 1.16.0
   Resolution: Fixed

> Remove from documentation obligation for parallel gateway sender to share 
> disk store with region
> 
>
> Key: GEODE-10002
> URL: https://issues.apache.org/jira/browse/GEODE-10002
> Project: Geode
>  Issue Type: Bug
>  Components: docs, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.16.0
>
>
> As a result of GEODE-7997, it was documented that "the persisted data from a 
> parallel gateway sender must go to the same disk store as used by the region, 
> because parallel gateway sender queues must be colocated with their regions
> to operate correctly.".
> As stated in the Activity in the original ticket by Dan Smith, "The only 
> issue with separating the data into two separate disk stores is that manually 
> deleting the files for just one of the disk stores could cause a hang on 
> startup looking for the missing disk store. We recommend keeping all of the 
> colocated data together."
> Given that the current statement in the documentation adds a non compatible 
> change to previous versions and also that the given restriction prevents from 
> the independent management of the disk used by the region and by the parallel 
> gateway sender queues it is proposed to change the statement from an 
> obligation to a recommendation giving the reasons for it or completely 
> removing the obligation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-10008) Avoid possible EntryDestroyedException error in wan-copy region command when entry destroyed in partitioned region

2022-02-17 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-10008.
---
Fix Version/s: 1.16.0
   Resolution: Fixed

> Avoid possible EntryDestroyedException error in wan-copy region command when 
> entry destroyed in partitioned region
> --
>
> Key: GEODE-10008
> URL: https://issues.apache.org/jira/browse/GEODE-10008
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.16.0
>
>
> When the wan-copy region command is executed over a partitioned region, it is 
> possible that sometimes an EntryDestroyedException error is found if, while 
> reading the entries from the region, one of them is destroyed.
> The error has been seen sometimes when running the following test:
> WanCopyRegionCommandDUnitTest.
> testSuccessfulExecutionWhileRunningOpsOnRegion(true, true).
>  
> Log of the error:
> Multiple Failures (2 failures)
>     org.opentest4j.AssertionFailedError: [            Member             | 
> Status | Message
> -- | -- | 
> ---
> alberto-dell(421543):41010 | ERROR  | Execution failed. Error: 
> org.apache.geode.cache.EntryDestroyedException: 26
> alberto-dell(421504):41009 | OK     | Entries copied: 2,977
> alberto-dell(421598):41011 | OK     | Entries copied: 3,042
> ] 
> expected: OK
>  but was: ERROR
>     java.lang.AssertionError: Suspicious strings were written to the log 
> during this run.
> Fix the strings or use IgnoredException.addIgnoredException to ignore.
> ---
> Found suspect string in 'dunit_suspect-vm6.log' at line 1883
> [error 2022/02/01 08:58:59.046 CET  tid=99] 
> Exception occurred attempting to wan-copy region
> java.util.concurrent.ExecutionException: 
> org.apache.geode.cache.EntryDestroyedException: 26
>     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>     at 
> org.apache.geode.cache.wan.internal.WanCopyRegionFunctionService.execute(WanCopyRegionFunctionService.java:90)
>     at 
> org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunctionInService(WanCopyRegionFunction.java:163)
>     at 
> org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunction(WanCopyRegionFunction.java:157)
>     at 
> org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:37)
>     at 
> org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:447)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at 
> org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
>     at 
> org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:379)
>     at 
> org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.geode.cache.EntryDestroyedException: 26
>     at 
> org.apache.geode.internal.cache.NonTXEntry.basicGetEntry(NonTXEntry.java:62)
>     at 
> org.apache.geode.internal.cache.NonTXEntry.getRegion(NonTXEntry.java:119)
>     at 
> org.apache.geode.internal.cache.NonTXEntry.hashCode(NonTXEntry.java:157)
>     at java.util.HashMap.hash(HashMap.java:340)
>     at java.util.HashMap.put(HashMap.java:613)
>     at java.util.HashSet.add(HashSet.java:220)
>     at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
>     at java.util.Iterator.forEachRemaining(Iterator.java:116)
>     at 
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
>     at 
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
>     at 
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
>     at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1580)
>     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
>     at 
> java.util.stream.AbstractP

[jira] [Resolved] (GEODE-10000) Avoid gfsh stop gateway sender error when stopped a second time

2022-02-17 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-1.
---
Fix Version/s: 1.16.0
   Resolution: Fixed

> Avoid gfsh stop gateway sender error when stopped a second time
> ---
>
> Key: GEODE-1
> URL: https://issues.apache.org/jira/browse/GEODE-1
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage, pull-request-available
> Fix For: 1.16.0
>
>
> After changing the implementation of the "stop gateway sender" command to be 
> parallel, when it is invoked a second time it fails with the following error:
> Error while processing command  Reason : 
> Task java.util.concurrent.FutureTask@513d30f9 rejected from 
> java.util.concurrent.ThreadPoolExecutor@85189b9[Terminated, pool size = 0, 
> active threads = 0, queued tasks = 0, completed tasks = 2]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10077) wan-copy region command does not prevent callbacks to be executed on the remote site

2022-02-23 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10077:
-

 Summary: wan-copy region command does not prevent callbacks to be 
executed on the remote site
 Key: GEODE-10077
 URL: https://issues.apache.org/jira/browse/GEODE-10077
 Project: Geode
  Issue Type: Bug
  Components: gfsh, wan
Reporter: Alberto Gomez


The wan-copy region command does not always prevent that callbacks are executed 
at the remote site for the entries copied.

For example, if the remote site has more than one server and the gateway 
receiver that gets the entries copied does not host the primary bucket of the 
entry received, it will send the put operation to the server than hosts the 
primary bucket and on this server, callbacks will be executed, provoking, for 
example, that if a gateway sender is configured for the region, the event will 
be sent by that gateway sender in the remote site.

Also, if the remote site has more than one server and the region has at least 
one replica (either because it is a replicated region or because it is a 
partitioned region with number of replicas greater than 1) then servers in the 
remote site that receive an UpdateMessage from the server that received the 
copied entry via the gateway receiver, would execute the callbacks, provoking, 
like in the above case that  if a gateway sender is configured for the region, 
the event will be sent by that gateway sender in the remote site.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10077) wan-copy region command does not prevent callbacks to be executed on the remote site

2022-02-23 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10077:
-

Assignee: Alberto Gomez

> wan-copy region command does not prevent callbacks to be executed on the 
> remote site
> 
>
> Key: GEODE-10077
> URL: https://issues.apache.org/jira/browse/GEODE-10077
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh, wan
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> The wan-copy region command does not always prevent that callbacks are 
> executed at the remote site for the entries copied.
> For example, if the remote site has more than one server and the gateway 
> receiver that gets the entries copied does not host the primary bucket of the 
> entry received, it will send the put operation to the server than hosts the 
> primary bucket and on this server, callbacks will be executed, provoking, for 
> example, that if a gateway sender is configured for the region, the event 
> will be sent by that gateway sender in the remote site.
> Also, if the remote site has more than one server and the region has at least 
> one replica (either because it is a replicated region or because it is a 
> partitioned region with number of replicas greater than 1) then servers in 
> the remote site that receive an UpdateMessage from the server that received 
> the copied entry via the gateway receiver, would execute the callbacks, 
> provoking, like in the above case that  if a gateway sender is configured for 
> the region, the event will be sent by that gateway sender in the remote site.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10087) Enhance Off-heap memory fragmentation visibility

2022-02-28 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10087:
-

Assignee: Alberto Gomez

>  Enhance Off-heap memory fragmentation visibility
> -
>
> Key: GEODE-10087
> URL: https://issues.apache.org/jira/browse/GEODE-10087
> Project: Geode
>  Issue Type: Improvement
>  Components: offheap, statistics
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> As pointed out in 
> https://cwiki.apache.org/confluence/display/GEODE/Enhance+Off-heap+memory+fragmentation+visibility:
> "Even though Geode offers several stats related to the status of the off-heap 
> memory area ({_}usedMemory{_}, {_}freeMemory{_}, {_}fragmentation{_}, 
> _largestFragment_ and {_}fragments{_}), the ones that provide information 
> about the level of the fragmentation of the off-heap memory 
> ({_}fragmentation{_}, _largestFragment_ and {_}fragments{_}) are only updated 
> when defragmentation is executed."
> The visibility of the off-heap memory fragmentation status must be made more 
> visible as proposed in the above RFC by means of:
>  * Updating the largestFragment stat periodically.
>  * Adding a new off-heap stat called "freedChunks" that will provide the 
> number of elements in the tiny and huge lists. This stat will be periodically 
> updated.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10087) Enhance Off-heap memory fragmentation visibility

2022-02-28 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10087:
-

 Summary:  Enhance Off-heap memory fragmentation visibility
 Key: GEODE-10087
 URL: https://issues.apache.org/jira/browse/GEODE-10087
 Project: Geode
  Issue Type: Improvement
  Components: offheap, statistics
Reporter: Alberto Gomez


As pointed out in 
https://cwiki.apache.org/confluence/display/GEODE/Enhance+Off-heap+memory+fragmentation+visibility:

"Even though Geode offers several stats related to the status of the off-heap 
memory area ({_}usedMemory{_}, {_}freeMemory{_}, {_}fragmentation{_}, 
_largestFragment_ and {_}fragments{_}), the ones that provide information about 
the level of the fragmentation of the off-heap memory ({_}fragmentation{_}, 
_largestFragment_ and {_}fragments{_}) are only updated when defragmentation is 
executed."

The visibility of the off-heap memory fragmentation status must be made more 
visible as proposed in the above RFC by means of:
 * Updating the largestFragment stat periodically.
 * Adding a new off-heap stat called "freedChunks" that will provide the number 
of elements in the tiny and huge lists. This stat will be periodically updated.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-9984) Mass-Test-Run: WanCopyRegionCommandDUnitTest > testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted FAILED

2022-03-05 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-9984.
--
Fix Version/s: 1.16.0
   Resolution: Fixed

> Mass-Test-Run: WanCopyRegionCommandDUnitTest > 
> testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted FAILED
> -
>
> Key: GEODE-9984
> URL: https://issues.apache.org/jira/browse/GEODE-9984
> Project: Geode
>  Issue Type: Bug
>Affects Versions: 1.15.0
>Reporter: Kristen
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: flaky-test, pull-request-available
> Fix For: 1.16.0
>
>
> WanCopyRegionCommandDUnitTest > 
> testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted(true, true) [0] FAILED
> org.opentest4j.AssertionFailedError: 
> expected: 5
>  but was: 50001
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
> at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at 
> org.apache.geode.cache.wan.internal.cli.commands.WanCopyRegionCommandDUnitTest.testCommandDoesNotCopyEntriesUpdatedAfterCommandStarted(WanCopyRegionCommandDUnitTest.java:884)
> 948 tests completed, 1 failed, 59 skipped
> Test report artifacts from this job are available at: 
> [*http://files.apachegeode-ci.info/builds/apache-develop-mass-test-run/1.15.0-build.0806/test-artifacts/1642850654/distributedtestfiles-openjdk8-1.15.0-build.0806.tgz*]
>  
>  
>  
> May be an issue similar or related to 
> https://issues.apache.org/jira/browse/GEODE-9859.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10067) WANCopyRegionFunctionDelegate needs to be optimized to handle large regions

2022-03-06 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10067:
-

Assignee: Alberto Gomez

> WANCopyRegionFunctionDelegate needs to be optimized to handle large regions
> ---
>
> Key: GEODE-10067
> URL: https://issues.apache.org/jira/browse/GEODE-10067
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Affects Versions: 1.15.0, 1.16.0
>Reporter: Udo Kohlmeyer
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
>
> The current WanCopyRegionFunctionDelegate may cause significant memory issues 
> in with really large regions.
> The 
> [getEntries|https://github.com/apache/geode/blob/develop/geode-wan/src/main/java/org/apache/geode/management/internal/cli/functions/WanCopyRegionFunctionDelegate.java#L102]
>  method returns both primary and redundant Region Entries for local server.
> The invocation of getEntries from the PartitionedRegionDataStore will cause 
> all entries to be deserialized 
> https://github.com/apache/geode/blob/develop/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java#L2501-L2515
> The 
> [createBatch|https://github.com/apache/geode/blob/develop/geode-wan/src/main/java/org/apache/geode/management/internal/cli/functions/WanCopyRegionFunctionDelegate.java#L107-L108]
>  method creates a List equally that of the local Region 
> size.
> Essentially ... In a system with VERY large regions this might cause 
> significant memory issues
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10071) Remove the dependency that WanCopyRegionFunction has on WanCopyRegionCommand

2022-03-06 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10071:
-

Assignee: Alberto Gomez

> Remove the dependency that WanCopyRegionFunction has on WanCopyRegionCommand
> 
>
> Key: GEODE-10071
> URL: https://issues.apache.org/jira/browse/GEODE-10071
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Affects Versions: 1.15.0, 1.16.0
>Reporter: Udo Kohlmeyer
>Assignee: Alberto Gomez
>Priority: Major
>
> There is a cyclical dependency between the Command and the implementing 
> function for the Wan copy feature.
> Logically, the command needs to have a dependency on the function.
> The error messages currently defined in the Command class need to be moved to 
> the function class where they are used.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-10071) Remove the dependency that WanCopyRegionFunction has on WanCopyRegionCommand

2022-03-08 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-10071.
---
Fix Version/s: 1.16.0
   Resolution: Fixed

> Remove the dependency that WanCopyRegionFunction has on WanCopyRegionCommand
> 
>
> Key: GEODE-10071
> URL: https://issues.apache.org/jira/browse/GEODE-10071
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Affects Versions: 1.15.0, 1.16.0
>Reporter: Udo Kohlmeyer
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.16.0
>
>
> There is a cyclical dependency between the Command and the implementing 
> function for the Wan copy feature.
> Logically, the command needs to have a dependency on the function.
> The error messages currently defined in the Command class need to be moved to 
> the function class where they are used.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (GEODE-10067) WANCopyRegionFunctionDelegate needs to be optimized to handle large regions

2022-03-18 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-10067.
---
Fix Version/s: 1.15.0
   Resolution: Fixed

> WANCopyRegionFunctionDelegate needs to be optimized to handle large regions
> ---
>
> Key: GEODE-10067
> URL: https://issues.apache.org/jira/browse/GEODE-10067
> Project: Geode
>  Issue Type: Improvement
>  Components: wan
>Affects Versions: 1.15.0
>Reporter: Udo Kohlmeyer
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The current WanCopyRegionFunctionDelegate may cause significant memory issues 
> in with really large regions.
> The 
> [getEntries|https://github.com/apache/geode/blob/develop/geode-wan/src/main/java/org/apache/geode/management/internal/cli/functions/WanCopyRegionFunctionDelegate.java#L102]
>  method returns both primary and redundant Region Entries for local server.
> The invocation of getEntries from the PartitionedRegionDataStore will cause 
> all entries to be deserialized 
> https://github.com/apache/geode/blob/develop/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java#L2501-L2515
> The 
> [createBatch|https://github.com/apache/geode/blob/develop/geode-wan/src/main/java/org/apache/geode/management/internal/cli/functions/WanCopyRegionFunctionDelegate.java#L107-L108]
>  method creates a List equally that of the local Region 
> size.
> Essentially ... In a system with VERY large regions this might cause 
> significant memory issues
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10155) ServerConnection thread hangs when client function execution times-out

2022-03-23 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10155:
-

 Summary: ServerConnection thread hangs when client function 
execution times-out
 Key: GEODE-10155
 URL: https://issues.apache.org/jira/browse/GEODE-10155
 Project: Geode
  Issue Type: Bug
  Components: core, functions
Reporter: Alberto Gomez


If a Geode client executes a server function with a timeout

and

the function is handled in the Geode server by a "Function Execution Processor" 
thread (for example by calling the function with onRegion() on a partitioned 
region without a filter)

and

the function times-out before the server has answered back with all the results

then

the ServerConnection thread that originally started to handle the function 
execution will be stuck forever.

 

If this happens several times and the max-threads parameters is set to a value 
greater than 0, the server will eventually run out of ServerConnection threads 
and will not be able to process more client requests.

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (GEODE-10155) ServerConnection thread hangs when client function execution times-out

2022-03-23 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10155:
-

Assignee: Alberto Gomez

> ServerConnection thread hangs when client function execution times-out
> --
>
> Key: GEODE-10155
> URL: https://issues.apache.org/jira/browse/GEODE-10155
> Project: Geode
>  Issue Type: Bug
>  Components: core, functions
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> If a Geode client executes a server function with a timeout
> and
> the function is handled in the Geode server by a "Function Execution 
> Processor" thread (for example by calling the function with onRegion() on a 
> partitioned region without a filter)
> and
> the function times-out before the server has answered back with all the 
> results
> then
> the ServerConnection thread that originally started to handle the function 
> execution will be stuck forever.
>  
> If this happens several times and the max-threads parameters is set to a 
> value greater than 0, the server will eventually run out of ServerConnection 
> threads and will not be able to process more client requests.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (GEODE-10300) C++ Native client messages coming from the locator cannot be longer than 3000 bytes

2022-05-12 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-10300:
-

 Summary: C++ Native client messages coming from the locator cannot 
be longer than 3000 bytes
 Key: GEODE-10300
 URL: https://issues.apache.org/jira/browse/GEODE-10300
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


If a locator sends a response to the C++ native client that is longer than 3000 
bytes the C++ native client library will only pass to the client the first 3000 
bytes.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Assigned] (GEODE-10300) C++ Native client messages coming from the locator cannot be longer than 3000 bytes

2022-05-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-10300:
-

Assignee: Alberto Gomez

> C++ Native client messages coming from the locator cannot be longer than 3000 
> bytes
> ---
>
> Key: GEODE-10300
> URL: https://issues.apache.org/jira/browse/GEODE-10300
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> If a locator sends a response to the C++ native client that is longer than 
> 3000 bytes the C++ native client library will only pass to the client the 
> first 3000 bytes.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Updated] (GEODE-10300) C++ Native client messages coming from the locator cannot be longer than 3000 bytes

2022-05-12 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-10300:
--
Description: If a locator sends a response to the C++ native client that is 
longer than 3000 bytes the C++ native client library will only read the first 
3000 bytes.  (was: If a locator sends a response to the C++ native client that 
is longer than 3000 bytes the C++ native client library will only pass to the 
client the first 3000 bytes.)

> C++ Native client messages coming from the locator cannot be longer than 3000 
> bytes
> ---
>
> Key: GEODE-10300
> URL: https://issues.apache.org/jira/browse/GEODE-10300
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Labels: needsTriage
>
> If a locator sends a response to the C++ native client that is longer than 
> 3000 bytes the C++ native client library will only read the first 3000 bytes.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (GEODE-7019) Idle connections are never closed by native C++ client library

2019-07-26 Thread Alberto Gomez (JIRA)
Alberto Gomez created GEODE-7019:


 Summary: Idle connections are never closed by native C++ client 
library
 Key: GEODE-7019
 URL: https://issues.apache.org/jira/browse/GEODE-7019
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


The native client C++ library never closes idle connections even if idleTimeout 
is set to a low value.

This has been observed on a C++ client that executes some operations on the 
Geode cluster (which provokes the creation of client to server connections), 
then stops to send any operation but all the previously opened the connections 
are never closed.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Assigned] (GEODE-7019) Idle connections are never closed by native C++ client library

2019-07-26 Thread Alberto Gomez (JIRA)


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

Alberto Gomez reassigned GEODE-7019:


Assignee: Alberto Gomez

> Idle connections are never closed by native C++ client library
> --
>
> Key: GEODE-7019
> URL: https://issues.apache.org/jira/browse/GEODE-7019
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> The native client C++ library never closes idle connections even if 
> idleTimeout is set to a low value.
> This has been observed on a C++ client that executes some operations on the 
> Geode cluster (which provokes the creation of client to server connections), 
> then stops to send any operation but all the previously opened the 
> connections are never closed.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (GEODE-1730) Cleanup SmHelper, SharedLibrary, PureJavaMode classes

2019-07-30 Thread Alberto Gomez (JIRA)


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

Alberto Gomez commented on GEODE-1730:
--

I have not seen the classes mentioned in the ticket in the Geode repo.

Is this ticket still relevant?

> Cleanup SmHelper, SharedLibrary, PureJavaMode classes
> -
>
> Key: GEODE-1730
> URL: https://issues.apache.org/jira/browse/GEODE-1730
> Project: Geode
>  Issue Type: Improvement
>  Components: general
>Reporter: Kirk Lund
>Priority: Minor
>  Labels: starter
>
> These classes are for the GemFire native code which is not in Geode. There 
> are a couple of methods still used on these classes such as is64bit() which 
> could be moved to another class such as SystemUtils.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (GEODE-7019) Idle connections are never closed by native C++ client library

2019-07-31 Thread Alberto Gomez (JIRA)


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

Alberto Gomez commented on GEODE-7019:
--

Hi Alexander!

I have only observed this problem in versions 1.8 and 1.9 because those are the 
versions I have tested with. Can't tell you if the problem was also present in 
previous versions.

Looking at the code, the bug has been there at least since the introduction of 
class ThinClientPoolDM.

-Alberto

> Idle connections are never closed by native C++ client library
> --
>
> Key: GEODE-7019
> URL: https://issues.apache.org/jira/browse/GEODE-7019
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> The native client C++ library never closes idle connections even if 
> idleTimeout is set to a low value.
> This has been observed on a C++ client that executes some operations on the 
> Geode cluster (which provokes the creation of client to server connections), 
> then stops to send any operation but all the previously opened the 
> connections are never closed.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Assigned] (GEODE-7049) Add timeout parameter to Java native client Execution::execute() methods

2019-08-06 Thread Alberto Gomez (JIRA)


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

Alberto Gomez reassigned GEODE-7049:


Assignee: Alberto Gomez

> Add timeout parameter to Java native client Execution::execute() methods 
> -
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> The Java native client only allows to set a timeout to functions by means of 
> a system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# 
> native client allow to pass a timeout parameter on a function invocation 
> basis.
> It will be good to have the same functionality on the Java native client by 
> means of having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (GEODE-7049) Add timeout parameter to Java native client Execution::execute() methods

2019-08-06 Thread Alberto Gomez (JIRA)
Alberto Gomez created GEODE-7049:


 Summary: Add timeout parameter to Java native client 
Execution::execute() methods 
 Key: GEODE-7049
 URL: https://issues.apache.org/jira/browse/GEODE-7049
 Project: Geode
  Issue Type: Improvement
  Components: native client
Reporter: Alberto Gomez


The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
client allow to pass a timeout parameter on a function invocation basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java native client Execution::execute() methods

2019-08-06 Thread Alberto Gomez (JIRA)


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

Alberto Gomez updated GEODE-7049:
-
Description: 
The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
clients allow to pass a timeout parameter on a function invocation basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 

  was:
The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
client allow to pass a timeout parameter on a function invocation basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 


> Add timeout parameter to Java native client Execution::execute() methods 
> -
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> The Java native client only allows to set a timeout to functions by means of 
> a system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# 
> native clients allow to pass a timeout parameter on a function invocation 
> basis.
> It will be good to have the same functionality on the Java native client by 
> means of having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java native client Execution::execute() methods

2019-08-06 Thread Alberto Gomez (JIRA)


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

Alberto Gomez updated GEODE-7049:
-
Description: 
The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
clients allow to pass a timeout parameter on a function execution basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 

  was:
The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
clients allow to pass a timeout parameter on a function invocation basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 


> Add timeout parameter to Java native client Execution::execute() methods 
> -
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> The Java native client only allows to set a timeout to functions by means of 
> a system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# 
> native clients allow to pass a timeout parameter on a function execution 
> basis.
> It will be good to have the same functionality on the Java native client by 
> means of having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (GEODE-7061) Under heavy load and many threads the C++ Native client may open lots of connections

2019-08-08 Thread Alberto Gomez (JIRA)
Alberto Gomez created GEODE-7061:


 Summary: Under heavy load and many threads the C++ Native client 
may open lots of connections
 Key: GEODE-7061
 URL: https://issues.apache.org/jira/browse/GEODE-7061
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


Under heavy load and many threads (>30) the C++ Native client tends to open a 
lot of connections which, if the idleTimeout is not relatively small, could 
provoke client port exhaustion.

The reason for this uncontrolled creation of connections is the implementation 
of the thread managing connections (ThinClientPoolDM::cleanStaleConnections()) 
that, in order to determine which connections to close due to timeout or load 
conditioning, gets all the connections from the pool for some time. Threads 
requiring a connection when this operation is fired, will create new 
connections while the maximum is not reached.

The proposed solution consists of changing the implementation of the 
cleanStaleConnections so that it does not get all the connections at some point 
but instead, takes one at a time in order to determine if it should close it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Assigned] (GEODE-7061) Under heavy load and many threads the C++ Native client may open lots of connections

2019-08-08 Thread Alberto Gomez (JIRA)


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

Alberto Gomez reassigned GEODE-7061:


Assignee: Alberto Gomez

> Under heavy load and many threads the C++ Native client may open lots of 
> connections
> 
>
> Key: GEODE-7061
> URL: https://issues.apache.org/jira/browse/GEODE-7061
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> Under heavy load and many threads (>30) the C++ Native client tends to open a 
> lot of connections which, if the idleTimeout is not relatively small, could 
> provoke client port exhaustion.
> The reason for this uncontrolled creation of connections is the 
> implementation of the thread managing connections 
> (ThinClientPoolDM::cleanStaleConnections()) that, in order to determine which 
> connections to close due to timeout or load conditioning, gets all the 
> connections from the pool for some time. Threads requiring a connection when 
> this operation is fired, will create new connections while the maximum is not 
> reached.
> The proposed solution consists of changing the implementation of the 
> cleanStaleConnections so that it does not get all the connections at some 
> point but instead, takes one at a time in order to determine if it should 
> close it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (GEODE-7061) Under heavy load and many threads the C++ Native client may open lots of connections

2019-08-08 Thread Alberto Gomez (JIRA)


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

Alberto Gomez updated GEODE-7061:
-
Description: 
Under heavy load and many threads (>30) the C++ Native client tends to open a 
lot of connections which, if the idleTimeout is not relatively small, could 
provoke client port exhaustion.

The reason for this uncontrolled creation of connections is the implementation 
of the thread managing connections (ThinClientPoolDM::cleanStaleConnections()) 
that, in order to determine which connections to close due to timeout or load 
conditioning, gets all the connections from the pool for some time. Threads 
requiring a connection when this operation is fired, will create new 
connections while the maximum is not reached.

The proposed solution consists of changing the implementation of the 
cleanStaleConnections so that it does not get all the connections from the pool 
at some point but instead, takes one at a time in order to determine if it 
should close it.

  was:
Under heavy load and many threads (>30) the C++ Native client tends to open a 
lot of connections which, if the idleTimeout is not relatively small, could 
provoke client port exhaustion.

The reason for this uncontrolled creation of connections is the implementation 
of the thread managing connections (ThinClientPoolDM::cleanStaleConnections()) 
that, in order to determine which connections to close due to timeout or load 
conditioning, gets all the connections from the pool for some time. Threads 
requiring a connection when this operation is fired, will create new 
connections while the maximum is not reached.

The proposed solution consists of changing the implementation of the 
cleanStaleConnections so that it does not get all the connections at some point 
but instead, takes one at a time in order to determine if it should close it.


> Under heavy load and many threads the C++ Native client may open lots of 
> connections
> 
>
> Key: GEODE-7061
> URL: https://issues.apache.org/jira/browse/GEODE-7061
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> Under heavy load and many threads (>30) the C++ Native client tends to open a 
> lot of connections which, if the idleTimeout is not relatively small, could 
> provoke client port exhaustion.
> The reason for this uncontrolled creation of connections is the 
> implementation of the thread managing connections 
> (ThinClientPoolDM::cleanStaleConnections()) that, in order to determine which 
> connections to close due to timeout or load conditioning, gets all the 
> connections from the pool for some time. Threads requiring a connection when 
> this operation is fired, will create new connections while the maximum is not 
> reached.
> The proposed solution consists of changing the implementation of the 
> cleanStaleConnections so that it does not get all the connections from the 
> pool at some point but instead, takes one at a time in order to determine if 
> it should close it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-08-11 Thread Alberto Gomez (JIRA)


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

Alberto Gomez updated GEODE-7049:
-
Description: 
The Java client only allows to set a timeout to functions by means of a system 
property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native clients 
allow to pass a timeout parameter on a function execution basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 

  was:
The Java native client only allows to set a timeout to functions by means of a 
system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
clients allow to pass a timeout parameter on a function execution basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 


> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java native client by 
> means of having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-08-11 Thread Alberto Gomez (JIRA)


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

Alberto Gomez updated GEODE-7049:
-
Summary: Add timeout parameter to Java client Execution::execute() methods  
 (was: Add timeout parameter to Java native client Execution::execute() methods 
)

> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The Java native client only allows to set a timeout to functions by means of 
> a system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# 
> native clients allow to pass a timeout parameter on a function execution 
> basis.
> It will be good to have the same functionality on the Java native client by 
> means of having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (GEODE-7113) Rat error in geode-native CI due to missing header in ./packer/windows/install-doxygen.ps1 file

2019-08-22 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7113:


 Summary: Rat error in geode-native CI due to missing header in 
./packer/windows/install-doxygen.ps1 file
 Key: GEODE-7113
 URL: https://issues.apache.org/jira/browse/GEODE-7113
 Project: Geode
  Issue Type: Bug
  Components: build, ci
Reporter: Alberto Gomez


The CI in the geode-native is broken due to 
./packer/windows/install-doxygen.ps1 lacking copyright header.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Assigned] (GEODE-7113) Rat error in geode-native CI due to missing header in ./packer/windows/install-doxygen.ps1 file

2019-08-22 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7113:


Assignee: Alberto Gomez

> Rat error in geode-native CI due to missing header in 
> ./packer/windows/install-doxygen.ps1 file
> ---
>
> Key: GEODE-7113
> URL: https://issues.apache.org/jira/browse/GEODE-7113
> Project: Geode
>  Issue Type: Bug
>  Components: build, ci
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> The CI in the geode-native is broken due to 
> ./packer/windows/install-doxygen.ps1 lacking copyright header.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (GEODE-7113) Rat error in geode-native CI due to missing header in ./packer/windows/install-doxygen.ps1 file

2019-08-22 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7113.
--
Resolution: Fixed

> Rat error in geode-native CI due to missing header in 
> ./packer/windows/install-doxygen.ps1 file
> ---
>
> Key: GEODE-7113
> URL: https://issues.apache.org/jira/browse/GEODE-7113
> Project: Geode
>  Issue Type: Bug
>  Components: build, ci
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> The CI in the geode-native is broken due to 
> ./packer/windows/install-doxygen.ps1 lacking copyright header.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (GEODE-7061) Under heavy load and many threads the C++ Native client may open lots of connections

2019-08-27 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7061.
--
Fix Version/s: 1.11.0
   Resolution: Fixed

> Under heavy load and many threads the C++ Native client may open lots of 
> connections
> 
>
> Key: GEODE-7061
> URL: https://issues.apache.org/jira/browse/GEODE-7061
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Under heavy load and many threads (>30) the C++ Native client tends to open a 
> lot of connections which, if the idleTimeout is not relatively small, could 
> provoke client port exhaustion.
> The reason for this uncontrolled creation of connections is the 
> implementation of the thread managing connections 
> (ThinClientPoolDM::cleanStaleConnections()) that, in order to determine which 
> connections to close due to timeout or load conditioning, gets all the 
> connections from the pool for some time. Threads requiring a connection when 
> this operation is fired, will create new connections while the maximum is not 
> reached.
> The proposed solution consists of changing the implementation of the 
> cleanStaleConnections so that it does not get all the connections from the 
> pool at some point but instead, takes one at a time in order to determine if 
> it should close it.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-08-28 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7049:
-
Description: 
The Java client only allows to set a timeout to functions by means of a system 
property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native clients 
allow to pass a timeout parameter on a function execution basis.

It will be good to have the same functionality on the Java client by means of 
having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 

  was:
The Java client only allows to set a timeout to functions by means of a system 
property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native clients 
allow to pass a timeout parameter on a function execution basis.

It will be good to have the same functionality on the Java native client by 
means of having the following methods on the Execution interface:

 
{code:java}
ResultCollector execute(Function function, int timeoutMs) throws 
FunctionException;
ResultCollector execute(String functionId, int timeoutMs) throws 
FunctionException; 
{code}
 


> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java client by means of 
> having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-09-23 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-7049:
--

The final scope of this ticket has been defined here:

https://cwiki.apache.org/confluence/display/GEODE/Improvements+on+client+Function+execution+API

> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java client by means of 
> having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



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


[jira] [Resolved] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-09-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7049.
--
Fix Version/s: 1.11.0
   Resolution: Fixed

> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java client by means of 
> having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



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


[jira] [Closed] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-09-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez closed GEODE-7049.


> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java client by means of 
> having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



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


[jira] [Updated] (GEODE-7049) Add timeout parameter to Java client Execution::execute() methods

2019-09-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7049:
-
Component/s: (was: native client)
 functions

> Add timeout parameter to Java client Execution::execute() methods 
> --
>
> Key: GEODE-7049
> URL: https://issues.apache.org/jira/browse/GEODE-7049
> Project: Geode
>  Issue Type: Improvement
>  Components: functions
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> The Java client only allows to set a timeout to functions by means of a 
> system property (gemfire.CLIENT_FUNCTION_TIMEOUT) while the C++ and C# native 
> clients allow to pass a timeout parameter on a function execution basis.
> It will be good to have the same functionality on the Java client by means of 
> having the following methods on the Execution interface:
>  
> {code:java}
> ResultCollector execute(Function function, int timeoutMs) throws 
> FunctionException;
> ResultCollector execute(String functionId, int timeoutMs) throws 
> FunctionException; 
> {code}
>  



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


[jira] [Comment Edited] (GEODE-7249) GfshInitFileIntegrationTest needs to be rewritten

2019-09-30 Thread Alberto Gomez (Jira)


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

Alberto Gomez edited comment on GEODE-7249 at 9/30/19 4:15 PM:
---

Hi,

Could you please give some more details about what is the problem?

Is it only due to the fact that reflection is used?

Thanks


was (Author: alberto.gomez):
Hi,

Could you give some more details about what is the problem?

Is it only due to the fact that reflection is used?

Thanks

> GfshInitFileIntegrationTest needs to be rewritten
> -
>
> Key: GEODE-7249
> URL: https://issues.apache.org/jira/browse/GEODE-7249
> Project: Geode
>  Issue Type: Test
>  Components: gfsh, tests
>Reporter: Kirk Lund
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> GfshInitFileIntegrationTest fails intermittently and currently uses 
> reflection to alter values of static variables in Gfsh.
> It needs to be disabled in CI until someone has the time and desire to 
> rewrite this test.
> Please refactor Gfsh to be testable instead of using reflection or PowerMock.



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


[jira] [Commented] (GEODE-7249) GfshInitFileIntegrationTest needs to be rewritten

2019-09-30 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-7249:
--

Hi,

Could you give some more details about what is the problem?

Is it only due to the fact that reflection is used?

Thanks

> GfshInitFileIntegrationTest needs to be rewritten
> -
>
> Key: GEODE-7249
> URL: https://issues.apache.org/jira/browse/GEODE-7249
> Project: Geode
>  Issue Type: Test
>  Components: gfsh, tests
>Reporter: Kirk Lund
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> GfshInitFileIntegrationTest fails intermittently and currently uses 
> reflection to alter values of static variables in Gfsh.
> It needs to be disabled in CI until someone has the time and desire to 
> rewrite this test.
> Please refactor Gfsh to be testable instead of using reflection or PowerMock.



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


[jira] [Created] (GEODE-7287) Add test case for REST function invocation with a filter

2019-10-11 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7287:


 Summary: Add test case for REST function invocation with a filter
 Key: GEODE-7287
 URL: https://issues.apache.org/jira/browse/GEODE-7287
 Project: Geode
  Issue Type: Improvement
  Components: tests
Reporter: Alberto Gomez
 Fix For: 1.11.0


There isn't an integration test for the REST function invocation in which a 
filter is passed.

It would be nice to have one in the RestAccessControllerTest class.



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


[jira] [Assigned] (GEODE-7287) Add test case for REST function invocation with a filter

2019-10-11 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7287:


Assignee: Alberto Gomez

> Add test case for REST function invocation with a filter
> 
>
> Key: GEODE-7287
> URL: https://issues.apache.org/jira/browse/GEODE-7287
> Project: Geode
>  Issue Type: Improvement
>  Components: tests
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>
> There isn't an integration test for the REST function invocation in which a 
> filter is passed.
> It would be nice to have one in the RestAccessControllerTest class.



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


[jira] [Resolved] (GEODE-7287) Add test case for REST function invocation with a filter

2019-10-17 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7287.
--
Resolution: Fixed

> Add test case for REST function invocation with a filter
> 
>
> Key: GEODE-7287
> URL: https://issues.apache.org/jira/browse/GEODE-7287
> Project: Geode
>  Issue Type: Improvement
>  Components: tests
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.11.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> There isn't an integration test for the REST function invocation in which a 
> filter is passed.
> It would be nice to have one in the RestAccessControllerTest class.



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


[jira] [Assigned] (GEODE-7157) SSLConfigurationFactory and SSLConfig are NOT Thread-safe!

2019-10-22 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7157:


Assignee: Alberto Gomez

> SSLConfigurationFactory and SSLConfig are NOT Thread-safe!
> --
>
> Key: GEODE-7157
> URL: https://issues.apache.org/jira/browse/GEODE-7157
> Project: Geode
>  Issue Type: Bug
>  Components: configuration, core, security
>Reporter: John Blum
>Assignee: Alberto Gomez
>Priority: Critical
>  Labels: affects-spring
>
> {{SSLConfig}} is a "_shared_" object (if you carefully analyze the 
> {{SSLConfigurationFactory}} class) and needs to be Thread-safe!!
> {{SSLConfigurationFactory}} does NOT properly guard all access points to the 
> (once again) "_shared_" {{registeredSSLConfig}} {{Map}} instance.  
> Furthermore, this class also uses an non-Thread-safe {{Map}} implementation 
> for {{registeredSSLConfig}}, i.e. {{HashMap}}, to "cache" {{SSLConfig}} 
> objects, which is "safe" iff "_all_" access to this "shared" 
> {{registeredSSLConfig}} {{Map}} instance is "{{synchronized}}", which it 
> isn't (!!) ... e.g. {{SSLConfigurationFactory.close()}}, which subsequently 
> calls {{clearSSLConfigForAllComponents()}}, which "_clears_" the 
> {{registeredSSLConfig}} {{Map}}.  Because it is not properly protected, it is 
> possible to see stale state, especially between tests!!!



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


[jira] [Assigned] (GEODE-6971) Update CqAttributesFactory to be a fluid API

2019-10-23 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-6971:


Assignee: Alberto Gomez

> Update CqAttributesFactory to be a fluid API
> 
>
> Key: GEODE-6971
> URL: https://issues.apache.org/jira/browse/GEODE-6971
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Charlie Black
>Assignee: Alberto Gomez
>Priority: Major
>
> CQAttributes does not currently support fluid API (like ClientCacheFactory 
> and ClientRegionFactory). In the ideal world, I'd like to do something like 
> the following
> {{CqAttributes cqa = new CqAttributesFactory()}}{{   }}
> {{   .addCqListener(new SimpleCQListener())}}
> {{   .create();}}



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


[jira] [Commented] (GEODE-6971) Update CqAttributesFactory to be a fluid API

2019-10-24 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-6971:
--

Unfortunately, changing the return type from void to CqAttributesFactory in the 
addCqListener and initCqLIsteners methods breaks the backward compatibility of 
Geode as it can be observed when running the following upgrade test: 
org.apache.geode.security.ClientAuthorizationCQDUnitTest

The only way I can think of fixing this is creating new fluid versions of the 
old methods with a different name. The old ones could be deprecated in the 
future.

Is it worth it?

> Update CqAttributesFactory to be a fluid API
> 
>
> Key: GEODE-6971
> URL: https://issues.apache.org/jira/browse/GEODE-6971
> Project: Geode
>  Issue Type: Improvement
>  Components: core
>Reporter: Charlie Black
>Assignee: Alberto Gomez
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> CQAttributes does not currently support fluid API (like ClientCacheFactory 
> and ClientRegionFactory). In the ideal world, I'd like to do something like 
> the following
> {{CqAttributes cqa = new CqAttributesFactory()}}{{   }}
> {{   .addCqListener(new SimpleCQListener())}}
> {{   .create();}}



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


[jira] [Commented] (GEODE-7254) ServerOperationException While performing a remote put

2019-10-25 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-7254:
--

Hi,

According to the server logs the problem is that in one of your classes ( 
com.actuate.iserver.utils.cache.GeodeCacheClient), you are trying to connect to 
the distributed system by invoking ClientCacheFactory.create() but there 
already exists a connection to the distributed system, the one from the server. 
See 
[https://geode.apache.org/releases/latest/javadoc/org/apache/geode/distributed/DistributedSystem.html.|https://geode.apache.org/releases/latest/javadoc/org/apache/geode/distributed/DistributedSystem.html]

What configuration are you using to connect to the distributed system? If the 
configuration used to connect to the distributed system you are using is very 
similar to the one of the server then you may not encounter the problem

P.S.

See below an excerpt from the server logs with the relevant information:

"A connection to a distributed system already exists in this VM."

[severe 2019/09/30 20:47:50.576 IST iHubCacheServerProcess_100.82.204.14 
 tid=0x53] Server connection from 
[identity(100.82.204.14(5296:loner):51773:b186be82,connection=1; port=51773] : 
Unexpected Error on server
java.lang.ExceptionInInitializerError
 at 
com.actuate.iserver.utils.CachedUserProperties.(CachedUserProperties.java:33)

...

Caused by: java.lang.IllegalStateException: A connection to a distributed 
system already exists in this VM. It has the following configuration: 
ack-severe-alert-threshold="0"
 ack-wait-threshold="15"

...


 at 
org.apache.geode.distributed.internal.InternalDistributedSystem.validateSameProperties(InternalDistributedSystem.java:2928)
 at 
org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:203)
 at 
org.apache.geode.cache.client.ClientCacheFactory.basicCreate(ClientCacheFactory.java:242)
 at 
org.apache.geode.cache.client.ClientCacheFactory.create(ClientCacheFactory.java:213)
 at com.actuate.iserver.server.GeodeCache.getCacheInstance(GeodeCache.java:93)
 at 
com.actuate.iserver.server.GeodeRegion.getRegionInstance(GeodeRegion.java:21)
 at 
com.actuate.iserver.utils.cache.GeodeCacheClient.(GeodeCacheClient.java:20)
 ... 56 more

> ServerOperationException While performing a remote put
> --
>
> Key: GEODE-7254
> URL: https://issues.apache.org/jira/browse/GEODE-7254
> Project: Geode
>  Issue Type: Bug
>  Components: client/server, configuration, core
>Affects Versions: 1.8.0
>Reporter: rajesh
>Priority: Blocker
> Attachments: iHubCacheLocatorProcess.log, iHubCacheServerProcess.log, 
> ihub.5296.RGOTETPF0T711Q.2019-09-30_20_44_40+0530.0.log, 
> meta-iHubCacheLocatorProcess-01.log, meta-iHubCacheServerProcess-02.log
>
>
>  Configuration: Locator and Server are running as different process using 
> peer to peer configuration.
> while trying to insert a custom object in to a cache region using client 
> cache we are getting the following exception.
> This occurs only when the Geode Locator/Server are started with log level set 
> to fine, finer, finest and all.
> If the log level is set to severe, error, warning, info, config everything 
> works fine. 
> I am not sure if log level change has anything to do with put operation. I am 
> attaching the locator and server log files.
>  
> Also we have recently upgraded the geode version from 1.1.0 to 1.8.  we have 
> been using 1.1.0 for quite sometime without any major issues.  upgraded to 
> 1.8 and no code changes were made but still getting this issue.



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


[jira] [Commented] (GEODE-7157) SSLConfigurationFactory and SSLConfig are NOT Thread-safe!

2019-11-06 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-7157:
--

[~burcham] Thanks!

> SSLConfigurationFactory and SSLConfig are NOT Thread-safe!
> --
>
> Key: GEODE-7157
> URL: https://issues.apache.org/jira/browse/GEODE-7157
> Project: Geode
>  Issue Type: Bug
>  Components: configuration, core, security
>Reporter: John Blum
>Assignee: Alberto Gomez
>Priority: Critical
>  Labels: affects-spring
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> {{SSLConfig}} is a "_shared_" object (if you carefully analyze the 
> {{SSLConfigurationFactory}} class) and needs to be Thread-safe!!
> {{SSLConfigurationFactory}} does NOT properly guard all access points to the 
> (once again) "_shared_" {{registeredSSLConfig}} {{Map}} instance.  
> Furthermore, this class also uses an non-Thread-safe {{Map}} implementation 
> for {{registeredSSLConfig}}, i.e. {{HashMap}}, to "cache" {{SSLConfig}} 
> objects, which is "safe" iff "_all_" access to this "shared" 
> {{registeredSSLConfig}} {{Map}} instance is "{{synchronized}}", which it 
> isn't (!!) ... e.g. {{SSLConfigurationFactory.close()}}, which subsequently 
> calls {{clearSSLConfigForAllComponents()}}, which "_clears_" the 
> {{registeredSSLConfig}} {{Map}}.  Because it is not properly protected, it is 
> possible to see stale state, especially between tests!!!



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


[jira] [Created] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-11-19 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7476:


 Summary: Memory leaks in C++ native client manifested when running 
integration tests
 Key: GEODE-7476
 URL: https://issues.apache.org/jira/browse/GEODE-7476
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


When running the integration tests of the C++ native client under valgrind 
several memory leaks have been found.

 

 



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


[jira] [Updated] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-11-19 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7476:
-
Description: 
When running the integration tests of the C++ native client under valgrind 
several memory leaks have been found.

See attached file with valgrind reports.

 

 

  was:
When running the integration tests of the C++ native client under valgrind 
several memory leaks have been found.

 

 


> Memory leaks in C++ native client manifested when running integration tests
> ---
>
> Key: GEODE-7476
> URL: https://issues.apache.org/jira/browse/GEODE-7476
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Priority: Major
> Attachments: MemoryCheckerReports.tar.gz
>
>
> When running the integration tests of the C++ native client under valgrind 
> several memory leaks have been found.
> See attached file with valgrind reports.
>  
>  



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


[jira] [Updated] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-11-19 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7476:
-
Attachment: MemoryCheckerReports.tar.gz

> Memory leaks in C++ native client manifested when running integration tests
> ---
>
> Key: GEODE-7476
> URL: https://issues.apache.org/jira/browse/GEODE-7476
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Priority: Major
> Attachments: MemoryCheckerReports.tar.gz
>
>
> When running the integration tests of the C++ native client under valgrind 
> several memory leaks have been found.
>  
>  



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


[jira] [Assigned] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-11-19 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7476:


Assignee: Alberto Gomez

> Memory leaks in C++ native client manifested when running integration tests
> ---
>
> Key: GEODE-7476
> URL: https://issues.apache.org/jira/browse/GEODE-7476
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Attachments: MemoryCheckerReports.tar.gz
>
>
> When running the integration tests of the C++ native client under valgrind 
> several memory leaks have been found.
> See attached file with valgrind reports.
>  
>  



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


[jira] [Created] (GEODE-7509) Memory leaks in C++ native client

2019-11-28 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7509:


 Summary: Memory leaks in C++ native client
 Key: GEODE-7509
 URL: https://issues.apache.org/jira/browse/GEODE-7509
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


There are some remaining memory leaks in the C++ client observed when running 
the integration tests under valgrind.

This ticket tries to address the ones left by GEODE-7476.



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


[jira] [Created] (GEODE-7534) Add to documentation how to access top level region data with bind parameters in the path expression (FROM)

2019-12-04 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7534:


 Summary: Add to documentation how to access top level region data 
with bind parameters in the path expression (FROM)
 Key: GEODE-7534
 URL: https://issues.apache.org/jira/browse/GEODE-7534
 Project: Geode
  Issue Type: Improvement
  Components: docs
Reporter: Alberto Gomez


When trying to create a query using bind parameters in the path expression 
(FROM) in order to select to level region data it is not obvious that in order 
for the expression to be correct, the bind parameter must be surrounded by 
parenthesis as in the following example:

 

SELECT e.key FROM ($1).entrySet e WHERE e.value.name=$2"



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


[jira] [Assigned] (GEODE-7534) Add to documentation how to access top level region data with bind parameters in the path expression (FROM)

2019-12-04 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7534:


Assignee: Alberto Gomez

> Add to documentation how to access top level region data with bind parameters 
> in the path expression (FROM)
> ---
>
> Key: GEODE-7534
> URL: https://issues.apache.org/jira/browse/GEODE-7534
> Project: Geode
>  Issue Type: Improvement
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> When trying to create a query using bind parameters in the path expression 
> (FROM) in order to select to level region data it is not obvious that in 
> order for the expression to be correct, the bind parameter must be surrounded 
> by parenthesis as in the following example:
>  
> SELECT e.key FROM ($1).entrySet e WHERE e.value.name=$2"



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


[jira] [Resolved] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-12-04 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7476.
--
Resolution: Fixed

> Memory leaks in C++ native client manifested when running integration tests
> ---
>
> Key: GEODE-7476
> URL: https://issues.apache.org/jira/browse/GEODE-7476
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.12.0
>
> Attachments: MemoryCheckerReports.tar.gz
>
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> When running the integration tests of the C++ native client under valgrind 
> several memory leaks have been found.
> See attached file with valgrind reports.
>  
>  



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


[jira] [Updated] (GEODE-7476) Memory leaks in C++ native client manifested when running integration tests

2019-12-04 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7476:
-
Fix Version/s: 1.12.0

> Memory leaks in C++ native client manifested when running integration tests
> ---
>
> Key: GEODE-7476
> URL: https://issues.apache.org/jira/browse/GEODE-7476
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.12.0
>
> Attachments: MemoryCheckerReports.tar.gz
>
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> When running the integration tests of the C++ native client under valgrind 
> several memory leaks have been found.
> See attached file with valgrind reports.
>  
>  



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


[jira] [Updated] (GEODE-7534) Add to documentation how to access top level region data with bind parameters in the path expression (FROM)

2019-12-04 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7534:
-
Fix Version/s: 1.12.0

> Add to documentation how to access top level region data with bind parameters 
> in the path expression (FROM)
> ---
>
> Key: GEODE-7534
> URL: https://issues.apache.org/jira/browse/GEODE-7534
> Project: Geode
>  Issue Type: Improvement
>  Components: docs
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.12.0
>
>
> When trying to create a query using bind parameters in the path expression 
> (FROM) in order to select to level region data it is not obvious that in 
> order for the expression to be correct, the bind parameter must be surrounded 
> by parenthesis as in the following example:
>  
> SELECT e.key FROM ($1).entrySet e WHERE e.value.name=$2"



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


[jira] [Updated] (GEODE-7509) Memory leaks in C++ native client

2019-12-10 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7509:
-
Fix Version/s: 1.12.0

> Memory leaks in C++ native client
> -
>
> Key: GEODE-7509
> URL: https://issues.apache.org/jira/browse/GEODE-7509
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.12.0
>
>  Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> There are some remaining memory leaks in the C++ client observed when running 
> the integration tests under valgrind.
> This ticket tries to address the ones left by GEODE-7476.



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


[jira] [Resolved] (GEODE-7509) Memory leaks in C++ native client

2019-12-10 Thread Alberto Gomez (Jira)


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

Alberto Gomez resolved GEODE-7509.
--
Resolution: Fixed

> Memory leaks in C++ native client
> -
>
> Key: GEODE-7509
> URL: https://issues.apache.org/jira/browse/GEODE-7509
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
> Fix For: 1.12.0
>
>  Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> There are some remaining memory leaks in the C++ client observed when running 
> the integration tests under valgrind.
> This ticket tries to address the ones left by GEODE-7476.



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


[jira] [Commented] (GEODE-7254) ServerOperationException While performing a remote put

2019-12-11 Thread Alberto Gomez (Jira)


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

Alberto Gomez commented on GEODE-7254:
--

Hi Rajesh,

Can you try with a configuration to connect to the distributed system with 
ClientCacheFactory.create() with log level equal to fine,finer to be in line 
with the one of the server?

It might be that difference between the server configuration and the one you 
are using to connect with ClientCacheFactory.create()  the one provoking the 
error.

BR,

Alberto

> ServerOperationException While performing a remote put
> --
>
> Key: GEODE-7254
> URL: https://issues.apache.org/jira/browse/GEODE-7254
> Project: Geode
>  Issue Type: Bug
>  Components: client/server, configuration, core
>Affects Versions: 1.8.0
>Reporter: rajesh
>Priority: Blocker
> Attachments: iHubCacheLocatorProcess.log, iHubCacheServerProcess.log, 
> ihub.5296.RGOTETPF0T711Q.2019-09-30_20_44_40+0530.0.log, 
> meta-iHubCacheLocatorProcess-01.log, meta-iHubCacheServerProcess-02.log
>
>
>  Configuration: Locator and Server are running as different process using 
> peer to peer configuration.
> while trying to insert a custom object in to a cache region using client 
> cache we are getting the following exception.
> This occurs only when the Geode Locator/Server are started with log level set 
> to fine, finer, finest and all.
> If the log level is set to severe, error, warning, info, config everything 
> works fine. 
> I am not sure if log level change has anything to do with put operation. I am 
> attaching the locator and server log files.
>  
> Also we have recently upgraded the geode version from 1.1.0 to 1.8.  we have 
> been using 1.1.0 for quite sometime without any major issues.  upgraded to 
> 1.8 and no code changes were made but still getting this issue.



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


[jira] [Assigned] (GEODE-7573) Issues with TrasactionIds managed by CacheTransactionManager in C++ native client

2019-12-13 Thread Alberto Gomez (Jira)


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

Alberto Gomez reassigned GEODE-7573:


Assignee: Alberto Gomez

> Issues with TrasactionIds managed by CacheTransactionManager in C++ native 
> client
> -
>
> Key: GEODE-7573
> URL: https://issues.apache.org/jira/browse/GEODE-7573
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>Priority: Major
>
> There are several problems related to the TransactionIds managed by the 
> CacheTransactionManager class:
>  
> On the one hand, according to the documentation, the 
> CacheTransactionManager::getTransactionId() returns null if no transaction is 
> associated to the thread but according to the signature of the method the 
> object returned is of type TransactionId&. Therefore, there is no possibility 
> to return true. The same applies to the 
> CacheTransactionManager::getTransactionId() method.
>  
> If we go to the implementation classes, the following is observed:
> If CacheTransactionManagerImpl::suspend() is invoked and there is no 
> transaction in progress a TransactionException is thrown. This must be 
> documented instead of the current information that states that a null pointer 
> is returned.
> If CacheTransactionManagerImpl::getTransactionId() is invoked and there is no 
> transaction in progress what we get is a segmentation fault because the 
> TXState that should provide the TransactionId object is null. In my opinion 
> the code should be changed to throw an exception just as it is done when 
> suspend() is invoked and there is no transaction in progress.
>  
> On the other hand, once a transaction has been commited, a valid 
> TransactionId reference returned previously by either suspend() or 
> getTransactionId() becomes invalid because the commit of the transaction 
> deletes the object (which is stored in the TXState that is destroyed at 
> commit).
> Subsequent uses of the TransacionId once the transaction is commited like it 
> is done in the testThinClientTransactionsWithSticky integration test (for 
> example calling exists() or resume()) would access freed memory.
> Unawareness of this may cause unexpected behavior in the client code and 
> should be avoided. Two alternatives are proposed:
>  * Document in the C++ API that TransactionId references returned by 
> CacheTransactionManager should not be used after the transaction is commited.
>  * Change the type of object returned/managed to a TransactionId shared 
> pointer.
> The problem with the second approach is that it involves a change in the API 
> so the first alternative is the recommended one.
>  
>  



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


[jira] [Created] (GEODE-7573) Issues with TrasactionIds managed by CacheTransactionManager in C++ native client

2019-12-13 Thread Alberto Gomez (Jira)
Alberto Gomez created GEODE-7573:


 Summary: Issues with TrasactionIds managed by 
CacheTransactionManager in C++ native client
 Key: GEODE-7573
 URL: https://issues.apache.org/jira/browse/GEODE-7573
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Alberto Gomez


There are several problems related to the TransactionIds managed by the 
CacheTransactionManager class:

 

On the one hand, according to the documentation, the 
CacheTransactionManager::getTransactionId() returns null if no transaction is 
associated to the thread but according to the signature of the method the 
object returned is of type TransactionId&. Therefore, there is no possibility 
to return true. The same applies to the 
CacheTransactionManager::getTransactionId() method.

 

If we go to the implementation classes, the following is observed:

If CacheTransactionManagerImpl::suspend() is invoked and there is no 
transaction in progress a TransactionException is thrown. This must be 
documented instead of the current information that states that a null pointer 
is returned.

If CacheTransactionManagerImpl::getTransactionId() is invoked and there is no 
transaction in progress what we get is a segmentation fault because the TXState 
that should provide the TransactionId object is null. In my opinion the code 
should be changed to throw an exception just as it is done when suspend() is 
invoked and there is no transaction in progress.

 

On the other hand, once a transaction has been commited, a valid TransactionId 
reference returned previously by either suspend() or getTransactionId() becomes 
invalid because the commit of the transaction deletes the object (which is 
stored in the TXState that is destroyed at commit).

Subsequent uses of the TransacionId once the transaction is commited like it is 
done in the testThinClientTransactionsWithSticky integration test (for example 
calling exists() or resume()) would access freed memory.

Unawareness of this may cause unexpected behavior in the client code and should 
be avoided. Two alternatives are proposed:
 * Document in the C++ API that TransactionId references returned by 
CacheTransactionManager should not be used after the transaction is commited.
 * Change the type of object returned/managed to a TransactionId shared pointer.

The problem with the second approach is that it involves a change in the API so 
the first alternative is the recommended one.

 

 



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


[jira] [Updated] (GEODE-7573) Issues with TrasactionIds managed by CacheTransactionManager in C++ native client

2019-12-13 Thread Alberto Gomez (Jira)


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

Alberto Gomez updated GEODE-7573:
-
Description: 
There are several problems related to the TransactionIds managed by the 
CacheTransactionManager class:

 

On the one hand, according to the documentation, the 
CacheTransactionManager::getTransactionId() returns null if no transaction is 
associated to the thread but according to the signature of the method the 
object returned is of type TransactionId&. Therefore, there is no possibility 
to return null. The same applies to the 
CacheTransactionManager::getTransactionId() method.

 

If we go to the implementation classes, the following is observed:

If CacheTransactionManagerImpl::suspend() is invoked and there is no 
transaction in progress a TransactionException is thrown. This must be 
documented instead of the current information that states that a null pointer 
is returned.

If CacheTransactionManagerImpl::getTransactionId() is invoked and there is no 
transaction in progress what we get is a segmentation fault because the TXState 
that should provide the TransactionId object is null. In my opinion the code 
should be changed to throw an exception just as it is done when suspend() is 
invoked and there is no transaction in progress.

 

On the other hand, once a transaction has been commited, a valid TransactionId 
reference returned previously by either suspend() or getTransactionId() becomes 
invalid because the commit of the transaction deletes the object (which is 
stored in the TXState that is destroyed at commit).

Subsequent uses of the TransacionId once the transaction is commited like it is 
done in the testThinClientTransactionsWithSticky integration test (for example 
calling exists() or resume()) would access freed memory.

Unawareness of this may cause unexpected behavior in the client code and should 
be avoided. Two alternatives are proposed:
 * Document in the C++ API that TransactionId references returned by 
CacheTransactionManager should not be used after the transaction is commited.
 * Change the type of object returned/managed to a TransactionId shared pointer.

The problem with the second approach is that it involves a change in the API so 
the first alternative is the recommended one.

 

 

  was:
There are several problems related to the TransactionIds managed by the 
CacheTransactionManager class:

 

On the one hand, according to the documentation, the 
CacheTransactionManager::getTransactionId() returns null if no transaction is 
associated to the thread but according to the signature of the method the 
object returned is of type TransactionId&. Therefore, there is no possibility 
to return true. The same applies to the 
CacheTransactionManager::getTransactionId() method.

 

If we go to the implementation classes, the following is observed:

If CacheTransactionManagerImpl::suspend() is invoked and there is no 
transaction in progress a TransactionException is thrown. This must be 
documented instead of the current information that states that a null pointer 
is returned.

If CacheTransactionManagerImpl::getTransactionId() is invoked and there is no 
transaction in progress what we get is a segmentation fault because the TXState 
that should provide the TransactionId object is null. In my opinion the code 
should be changed to throw an exception just as it is done when suspend() is 
invoked and there is no transaction in progress.

 

On the other hand, once a transaction has been commited, a valid TransactionId 
reference returned previously by either suspend() or getTransactionId() becomes 
invalid because the commit of the transaction deletes the object (which is 
stored in the TXState that is destroyed at commit).

Subsequent uses of the TransacionId once the transaction is commited like it is 
done in the testThinClientTransactionsWithSticky integration test (for example 
calling exists() or resume()) would access freed memory.

Unawareness of this may cause unexpected behavior in the client code and should 
be avoided. Two alternatives are proposed:
 * Document in the C++ API that TransactionId references returned by 
CacheTransactionManager should not be used after the transaction is commited.
 * Change the type of object returned/managed to a TransactionId shared pointer.

The problem with the second approach is that it involves a change in the API so 
the first alternative is the recommended one.

 

 


> Issues with TrasactionIds managed by CacheTransactionManager in C++ native 
> client
> -
>
> Key: GEODE-7573
> URL: https://issues.apache.org/jira/browse/GEODE-7573
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Alberto Gomez
>Assignee: Alberto Gomez
>   

  1   2   3   >