hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9890) libhdfs++: Add test suite to simulate network issues
Date Wed, 04 May 2016 12:45:12 GMT

    [ https://issues.apache.org/jira/browse/HDFS-9890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15270562#comment-15270562
] 

Stephen commented on HDFS-9890:
-------------------------------

Might be useful to parameterize "file size" and "block size".

It was my understanding that the following change was made for tests purposes and that the
default shouldn't be changed. Though it might be convenient to parameterize the value.
{code}
-  unsigned int threads = 1 /* options.io_threads_, pending HDFS-9117 */;
+  unsigned int threads = 2 /* options.io_threads_, pending HDFS-9117 */;
{code}

The following should be replaced by event handlers.
{code}
+#ifdef ENABLE_RPC_ERROR_SIMULATION
+      if (random() % 10000 == 0) {
+        stat = Status::Error("random error");
+      } else
+#endif
{code}

> libhdfs++: Add test suite to simulate network issues
> ----------------------------------------------------
>
>                 Key: HDFS-9890
>                 URL: https://issues.apache.org/jira/browse/HDFS-9890
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: James Clampffer
>            Assignee: Xiaowei Zhu
>         Attachments: HDFS-9890.HDFS-8707.000.patch, HDFS-9890.HDFS-8707.001.patch, HDFS-9890.HDFS-8707.002.patch,
HDFS-9890.HDFS-8707.003.patch, HDFS-9890.HDFS-8707.004.patch, HDFS-9890.HDFS-8707.005.patch
>
>
> I propose adding a test suite to simulate various network issues/failures in order to
get good test coverage on some of the retry paths that aren't easy to hit in mock unit tests.
> At the moment the only things that hit the retry paths are the gmock unit tests.  The
gmock are only as good as their mock implementations which do a great job of simulating protocol
correctness but not more complex interactions.  They also can't really simulate the types
of lock contention and subtle memory stomps that show up while doing hundreds or thousands
of concurrent reads.   We should add a new minidfscluster test that focuses on heavy read/seek
load and then randomly convert error codes returned by network functions into errors.
> List of things to simulate(while heavily loaded), roughly in order of how badly I think
they need to be tested at the moment:
> -Rpc connection disconnect
> -Rpc connection slowed down enough to cause a timeout and trigger retry
> -DN connection disconnect



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message