rzo1 opened a new pull request, #293:
URL: https://github.com/apache/openjpa/pull/293

   https://issues.apache.org/jira/browse/OPENJPA-3072
   
   `TCPRemoteCommitProvider` gets two properties:
   
   - `RestrictToPeers` (default `true`): only accept connections from the hosts 
in `Addresses` and from this host. The peer check reads an immutable snapshot 
of the peer addresses, so it does not wait for the lock held while sending. 
`DynamicTCPRemoteCommitProvider` refreshes its peers for a connection from an 
unknown host on the receiver thread, not on the accept thread. The Kubernetes 
provider defaults to `false`, because pods that are not ready yet already send 
events but are not listed as peers.
   - `MaxReceiveConnections` (default 100, 0 or less for no limit).
   
   Rejected connections are closed and logged, the accept loop keeps running. 
Receiver threads remove themselves when they finish, and accepted sockets use 
TCP keep-alive so that connections of crashed peers are closed eventually. When 
several providers share one port, a connection is accepted if any of them 
accepts it, and the highest limit applies. Both properties are documented in 
the reference guide.
   
   `TestTCPRemoteCommitProvider` (21 tests) and the `TestTCPRemote*` tests with 
`-Dtests.openjpa.allowfailure=fail`, as well as 
`KubernetesTCPRemoteCommitProviderTest`, pass.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to