zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rakesh R <rake...@huawei.com>
Subject Thread handling
Date Thu, 27 Mar 2014 14:38:30 GMT
Hi All,

Server has many critical threads running and co-ordinating each other like  RequestProcessor
chains et. When going through each threads, most of them having the similar structure like:

public void run() {
        try {
                   // processing logic
        } catch (InterruptedException e) {
            LOG.error("Unexpected interruption", e);
        } catch (RequestProcessorException e) {
            LOG.error("Unexpected exception", e);
        } catch (Exception e) {
            LOG.error("Unexpected exception", e);
        LOG.info("...exited loop!");

I feel, we could improve our threads  in our system. From the design I could see, there could
be a chance of silently leaving the thread in case of any exception(abnormal or any functional
issue too)
If this happens in the production, the server would get hanged forever and will not be able
to deliver its role.

If we have a 'DeathWatcher 'or some other mechanism in place to monitor all the critical threads.
It can take a decision like - bring down the process if required, or shutdown the quorumpeer
and go for LE again etc.
Now the monitoring or management tool will knows about the situation and can act upon.

Appreciate any thoughts ?

Thanks in advance,
Rakesh R

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message