diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2016-09-08 11:33:59 +0530 |
---|---|---|
committer | Niels de Vos <ndevos@redhat.com> | 2016-09-30 06:27:26 -0700 |
commit | ad9a1d1e8430388995f6a3fcd192ada7c9417a8d (patch) | |
tree | 8d0a8cddf083e2b59a7b4007d5fe0ff9df3d7893 /tests | |
parent | 7a50690e8939d1f806556ece1bad9fc2a81c3b80 (diff) |
socket: pollerr event shouldn't trigger socket_connnect_finish
If connect fails with any other error than EINPROGRESS we cannot get
the error status using getsockopt (... SO_ERROR ... ). Hence we need
to remember the state of connect and take appropriate action in the
event_handler for the same.
As an added note, a event can come where poll_err is HUP and we have
poll_in as well (i.e some status was written to the socket), so for
such cases we need to finish the connect, process the data and then
the poll_err as is the case in the current code.
Special thanks to Kaushal M & Raghavendra G for figuring out the issue.
>Signed-off-by: Shyam <srangana@redhat.com>
>Reviewed-on: http://review.gluster.org/15440
>Smoke: Gluster Build System <jenkins@build.gluster.org>
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
>Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Change-Id: Ic45ad59ff8ab1d0a9d2cab2c924ad940b9d38528
BUG: 1373723
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/15532
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs/changelog/bug-1211327.t | 8 | ||||
-rw-r--r-- | tests/bugs/ec/bug-1236065.t | 4 |
2 files changed, 5 insertions, 7 deletions
diff --git a/tests/bugs/changelog/bug-1211327.t b/tests/bugs/changelog/bug-1211327.t index 19d6e76ecab..a849ec3981f 100644 --- a/tests/bugs/changelog/bug-1211327.t +++ b/tests/bugs/changelog/bug-1211327.t @@ -27,15 +27,13 @@ TEST $CLI volume set $V0 changelog.changelog on; sleep 1 TEST killall_gluster; -sleep 1 -EXPECT 0 online_brick_count; +EXPECT_WITHIN $CHILD_UP_TIMEOUT "0" online_brick_count TEST glusterd; TEST pidof glusterd; -##Let the brick processes starts -sleep 1; -EXPECT 1 online_brick_count; +##Let the brick processes starts +EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" online_brick_count ##On brick restart only one HTIME should be found. EXPECT 1 count_htime_files; diff --git a/tests/bugs/ec/bug-1236065.t b/tests/bugs/ec/bug-1236065.t index 9038cb95948..e425f3effe2 100644 --- a/tests/bugs/ec/bug-1236065.t +++ b/tests/bugs/ec/bug-1236065.t @@ -48,7 +48,7 @@ TEST ec_test_make ## step 4 TEST $CLI volume start $V0 force -EXPECT '7' online_brick_count +EXPECT_WITHIN $CHILD_UP_TIMEOUT "7" online_brick_count # active heal EXPECT_WITHIN $PROCESS_UP_TIMEOUT "[0-9][0-9]*" get_shd_process_pid @@ -70,7 +70,7 @@ EXPECT '5' online_brick_count ## step 6 TEST $CLI volume start $V0 force -EXPECT '7' online_brick_count +EXPECT_WITHIN $CHILD_UP_TIMEOUT "7" online_brick_count # self-healing EXPECT_WITHIN $PROCESS_UP_TIMEOUT "[0-9][0-9]*" get_shd_process_pid |