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]
