[
https://issues.apache.org/jira/browse/HBASE-7839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13578248#comment-13578248
]
nkeywal commented on HBASE-7839:
--------------------------------
It's not easy, because you would have to know what ports are used (and the
machine can have the NN, ZK, a DN, ...)
Note that in a standard test, it does not prevent the targeted machine from
being used: you don't see anymore the packets it sends, so you see this machine
as dead, but it can still send packets to the rest of the world. This allows to
use another developer machine for such a test.
> Add a script to simulate a dead machine during the integration tests
> --------------------------------------------------------------------
>
> Key: HBASE-7839
> URL: https://issues.apache.org/jira/browse/HBASE-7839
> Project: HBase
> Issue Type: New Feature
> Components: test
> Affects Versions: 0.96.0
> Reporter: nkeywal
> Assignee: nkeywal
> Priority: Minor
> Fix For: 0.96.0
>
> Attachments: 7839.v1.patch
>
>
> A kill -9 cannot be used to simulate a dead box. With a kill -9:
> 1) the sockets are closed by the OS
> 2) the next calls will get immediately a connection refused.
> Physically unplugging the cable does work.
> To automate this, the best solution seems to be using a firewall config.
> It's a little bit complicated however, because we need to refuse the incoming
> packets. If we block the out connection, it's detected by the OS and there is
> no wait on the socket.
> Moreover you need to be root, or use a program with a sticky bit to launch
> the script that changes the firewall config.
> This will be usable from the integration tests.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira