He Zhenxing created TRAFODION-3260:
--------------------------------------
Summary: SSMP may wait 3 seconds before handling requests
Key: TRAFODION-3260
URL: https://issues.apache.org/jira/browse/TRAFODION-3260
Project: Apache Trafodion
Issue Type: Bug
Components: sql-exe
Affects Versions: any
Reporter: He Zhenxing
Fix For: 2.4
SSMP may wait and stop responding for up to 3 seconds before handling requests.
This problem was found while investigating LOB locking issue, which may take 3
seconds to acquire the lock.
Here are the steps to reproduce the issue:
{code:java}
>> cqd traf_blob_as_varchar 'off';
>> create table t1 (a blob);
>> set statistics on;
>> insert into t1 values (stringtolob('abc'));
>> insert into t1 values (stringtolob('abc'));
{code}
We ignore the first insert, which may take long for loading metadata. starting
from the second, sometimes the insert will take 3 or 6 seconds to finish.
Normally, it should only take hundreds of milliseconds.
The problem is because SSMP waiting for client requests from $RECEIVE and
replies from SSCP separately, so there is a possibility that SSMP is waiting on
$RECEIVE while there are replies from SSCP and thus it will have to wait until
timeout (3 seconds) before the replies can be handled and then SSMP can reply
the client. If both LOB lock and unlock suffered this, the insert will take
more than 6 seconds to finish.
This problem also affects scenarios that need to interact with SSMP.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)