Document Type | Troubleshooting
Category | Administration
Applicable Product Versions | 6FS05, 6FS06
Document Number | TADTS054
Issue
The following message is output in the slog log, and afterward, DB access via tbsql and clients becomes impossible.
_pollset_calc(cur=16383, max=16523) failed. event addition failure - fd=16523, flags=5, return=-1, errno=0, evt=000000014f3bbda0
Also, upon connection, the error TBR-2131: Generic I/O error. occurs.
Below is an example of slog.
ex) [07-30T22:39:57.808733] [FRM-222] [I] _pollset_calc(cur=16383, max=16523) failed. [07-30T22:39:57.808852] [FRM-222] [I] event addition failure - fd=16523, flags=5, return=-1, errno=0, evt=000000014f3bbda0 [07-31T15:35:58.459412] [FRM-222] [I] _pollset_calc(cur=16383, max=16524) failed. [07-31T15:35:58.459457] [FRM-222] [I] event addition failure - fd=16524, flags=5, return=-1, errno=0, evt=000000014f3bd310 [08-01T13:56:19.055271] [FRM-222] [I] _pollset_calc(cur=16383, max=16525) failed. [08-01T13:56:19.055295] [FRM-222] [I] event addition failure - fd=16525, flags=5, return=-1, errno=0, evt=000000014f3be880
Cause
The control thread (cthr) failed to add an event. When the OS's ulimit setting for open files is unlimited, Tibero internally fixes the maximum number of file descriptors to 16,383.
As a result, if the newly issued file descriptor (fd) number is greater than the maximum fd known by the WPROC (Worker Process), a problem occurs during the event registration process.
When a client connects, the WPROC (Worker Process) obtains a new file descriptor (fd) for event registration required for communication. During the event registration process, there is logic that compares the maximum fd value previously known by WPROC with the currently issued fd value. If the newly issued fd value is greater than the previous maximum, the *epoll calc operation fails.
This causes the event addition failure, which ultimately leads to the inability to access the DB.
Note*epoll : An I/O notification model created in Linux to overcome the limitations of the select method.
Solutions
Adjust the number of open files in ulimit and then restart.
Modify the /etc/security/limits.conf file.
$ vi /etc/security/limits.conf tibero soft nproc 65536 tibero hard nproc 65536 tibero soft nofile 65536 tibero hard nofile 65536