Cache server doesn't start when using Client/Server SSL and max-threads in VMware GemFire
search cancel

Cache server doesn't start when using Client/Server SSL and max-threads in VMware GemFire

book

Article ID: 294394

calendar_today

Updated On:

Products

VMware Tanzu Gemfire

Issue/Introduction

The cache server doesn't start when using Client/Server SSL and max-threads. The error is logged to stdout/err and will contain the following message:
Caused by: java.lang.IllegalArgumentException: Selector thread pooling can not be used with client/server SSL. The selector can be disabled by setting max-threads=0

Note: The issue is present in VMware GemFire 9.7 to VMware GemFire 9.10.

Environment

Product Version: 9.10

Resolution

Setting max-threads to 0 resolves the issue.

GEODE-6150 has been created to remove this limitation:

Allow use of client/server max-threads with SSL.

Cache servers have a max-threads setting that causes the server to limit the number of threads used by clients. The implementation uses Java new I/O though and that doesn't currently play well with SSL/TLS secure communications. If you attempt to configure the server to use secure communications and max-threads it throws an IllegalArgumentException with the message "Selector thread pooling can not be used with client/server SSL". The selector can be disabled by setting max-threads=0.

The server code should be modified to use the JDK's SSLEngine to implement SSL/TLS over NIO and get rid of this restriction.