From: <ta...@us...> - 2013-03-28 13:12:17
|
Revision: 7966 http://gfarm.svn.sourceforge.net/gfarm/?rev=7966&view=rev Author: tatebe Date: 2013-03-28 13:12:09 +0000 (Thu, 28 Mar 2013) Log Message: ----------- merge r7895 and r7907 from the 2.5 branch - fix gfs_pio_close failover handling - it succeeds only read only case - call gfm_close_fd even when gfsd reports the gfmd is failed over Revision Links: -------------- http://gfarm.svn.sourceforge.net/gfarm/?rev=7895&view=rev http://gfarm.svn.sourceforge.net/gfarm/?rev=7907&view=rev Modified Paths: -------------- gfarm_v2/branches/2.5.7/lib/libgfarm/gfarm/gfs_pio.c gfarm_v2/branches/2.5.7/server/gfsd/gfsd.c Property Changed: ---------------- gfarm_v2/branches/2.5.7/ gfarm_v2/branches/2.5.7/gftool/gfdump/ gfarm_v2/branches/2.5.7/gftool/gfdump/gfdump.postgresql.in gfarm_v2/branches/2.5.7/gftool/gfgroup/gfgroup.c Property changes on: gfarm_v2/branches/2.5.7 ___________________________________________________________________ Modified: svn:mergeinfo - /gfarm_v2/branches/2.4:5271,5275-5281,5290,5329 /gfarm_v2/branches/2.5:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6712,6714,6719,6726,6744,6769,6771,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6942,6954,6992,7001,7004,7009,7182,7212,7214,7217,7225,7231,7509,7534,7538,7561,7564,7580,7583-7584,7593-7596,7599,7608,7619,7633,7650,7655,7663,7677,7680,7700,7707,7711,7715,7717,7723,7749,7753,7777,7780,7790,7803,7813,7834,7838,7844,7861,7876,7886,7908,7922,7929,7939-7940,7954 /gfarm_v2/branches/2.6:7230,7533,7537,7579,7598,7706,7710,7714,7722,7748,7752,7776,7789,7800,7802,7833,7837,7843,7885 /gfarm_v2/trunk:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5825,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6062,6065,6070,6073,6077-6079,6081,6083-6084,6086,6089,6091,6093,6095,6101,6103,6118,6120,6129,6137,6139,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6567,6571,6577,6580-6581,6604,6614,6616,6645,6768,6770,6852,6939,6946,7229,7532,7536,7578,7597,7705,7709,7713,7721,7747,7751,7775,7788,7798-7799,7801,7831,7836,7842,7884 + /gfarm_v2/branches/2.4:5271,5275-5281,5290,5329 /gfarm_v2/branches/2.5:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6712,6714,6719,6726,6744,6769,6771,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6942,6954,6992,7001,7004,7009,7182,7212,7214,7217,7225,7231,7509,7534,7538,7561,7564,7580,7583-7584,7593-7596,7599,7608,7619,7633,7650,7655,7663,7677,7680,7700,7707,7711,7715,7717,7723,7749,7753,7777,7780,7790,7803,7813,7834,7838,7844,7861,7876,7886,7895,7907-7908,7922,7929,7939-7940,7954 /gfarm_v2/branches/2.6:7230,7533,7537,7579,7598,7706,7710,7714,7722,7748,7752,7776,7789,7800,7802,7833,7837,7843,7885 /gfarm_v2/trunk:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5825,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6062,6065,6070,6073,6077-6079,6081,6083-6084,6086,6089,6091,6093,6095,6101,6103,6118,6120,6129,6137,6139,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6567,6571,6577,6580-6581,6604,6614,6616,6645,6768,6770,6852,6939,6946,7229,7532,7536,7578,7597,7705,7709,7713,7721,7747,7751,7775,7788,7798-7799,7801,7831,7836,7842,7884 Property changes on: gfarm_v2/branches/2.5.7/gftool/gfdump ___________________________________________________________________ Modified: svn:mergeinfo - /gfarm_v2/branches/2.4/gftool/gfdump:5271,5275-5281,5290,5329 /gfarm_v2/branches/2.5/gftool/gfdump:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfdump:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5825,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6070,6073,6077-6079,6081,6083-6084,6086,6089,6091,6093,6095,6101,6103,6118,6120,6129,6137,6139,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6491,6645,6852 + /gfarm_v2/branches/2.4/gftool/gfdump:5271,5275-5281,5290,5329 /gfarm_v2/branches/2.5/gftool/gfdump:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7895,7907-7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfdump:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5825,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6070,6073,6077-6079,6081,6083-6084,6086,6089,6091,6093,6095,6101,6103,6118,6120,6129,6137,6139,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6491,6645,6852 Property changes on: gfarm_v2/branches/2.5.7/gftool/gfdump/gfdump.postgresql.in ___________________________________________________________________ Modified: svn:mergeinfo - /gfarm_v2/branches/2.5/gftool/gfdump/gfdump.postgresql.in:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfdump/gfdump.postgresql.in:6491,6645,6852 + /gfarm_v2/branches/2.5/gftool/gfdump/gfdump.postgresql.in:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7895,7907-7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfdump/gfdump.postgresql.in:6491,6645,6852 Property changes on: gfarm_v2/branches/2.5.7/gftool/gfgroup/gfgroup.c ___________________________________________________________________ Modified: svn:mergeinfo - /gfarm_v2/branches/2.4/gftool/gfgroup/gfgroup.c:5271,5275-5281,5290,5329,5335 /gfarm_v2/branches/2.5/gftool/gfgroup/gfgroup.c:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfgroup/gfgroup.c:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6062,6065,6073,6078,6091,6093,6118,6137,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6645,6852 + /gfarm_v2/branches/2.4/gftool/gfgroup/gfgroup.c:5271,5275-5281,5290,5329,5335 /gfarm_v2/branches/2.5/gftool/gfgroup/gfgroup.c:6627-6629,6636-6637,6641,6643,6646,6649,6651-6657,6659,6673,6677,6679,6714,6719,6726,6744,6787,6793,6805,6817,6853,6860-6862,6888,6894,6918,6930,6934-6935,6940,6954,6992,7001,7004,7009,7182,7212,7214,7225,7231,7509,7561,7564,7583-7584,7593-7596,7608,7619,7633,7650,7655,7663,7677,7680,7717,7780,7813,7876,7895,7907-7908,7922,7929,7939-7940,7954 /gfarm_v2/trunk/gftool/gfgroup/gfgroup.c:5598,5616-5624,5627-5628,5641-5647,5650,5653,5657-5666,5670,5674,5683-5685,5693,5695-5696,5699,5719-5720,5727,5729-5730,5775,5793,5799,5808-5809,5821,5827-5831,5839-5842,5844-5849,5863-5864,5868,5870,5874-5878,5886,5889,5913,5915,5924,5932,5934,5959,6001-6003,6012-6013,6016,6019,6025-6027,6029,6040,6062,6065,6073,6078,6091,6093,6118,6137,6152-6153,6155,6159,6161,6166,6168,6173,6175,6178-6179,6184-6185,6188,6268,6272,6295,6305-6306,6310,6315,6333,6335,6354,6397,6427,6437,6452,6458-6459,6469-6470,6645,6852 Modified: gfarm_v2/branches/2.5.7/lib/libgfarm/gfarm/gfs_pio.c =================================================================== --- gfarm_v2/branches/2.5.7/lib/libgfarm/gfarm/gfs_pio.c 2013-03-28 13:06:52 UTC (rev 7965) +++ gfarm_v2/branches/2.5.7/lib/libgfarm/gfarm/gfs_pio.c 2013-03-28 13:12:09 UTC (rev 7966) @@ -343,7 +343,6 @@ { gfarm_error_t e, e_save; gfarm_timerval_t t1, t2; - int failed_over = 0; GFARM_TIMEVAL_FIX_INITIALIZE_WARNING(t1); gfs_profile(gfarm_gettimerval(&t1)); @@ -359,11 +358,11 @@ if ((gf->mode & GFS_FILE_MODE_WRITE) != 0) e_save = gfs_pio_flush(gf); e = (*gf->ops->view_close)(gf); + /* ignore failover error */ if (e == GFARM_ERR_GFMD_FAILED_OVER) { - gflog_error(GFARM_MSG_1003268, - "ignore %s error at pio close operation", + gflog_info(GFARM_MSG_1003268, + "view close error (ignored): %s", gfarm_error_string(e)); - failed_over = 1; e = GFARM_ERR_NO_ERROR; } if (e_save == GFARM_ERR_NO_ERROR) @@ -373,12 +372,21 @@ gfs_pio_file_list_remove( gfm_client_connection_file_list(gf->gfm_server), gf); - /* do not call gfm_close_fd when fd is read-only and gfmd failed over */ - if (!failed_over || (gf->open_flags & GFARM_FILE_RDONLY) == 0) { - e = gfm_close_fd(gf->gfm_server, gfs_pio_fileno(gf)); - if (e_save == GFARM_ERR_NO_ERROR) - e_save = e; + e = gfm_close_fd(gf->gfm_server, gfs_pio_fileno(gf)); + if (e != GFARM_ERR_NO_ERROR) { + /* ignore error when a file is opened in read-only mode */ + if ((gf->open_flags & GFARM_FILE_ACCMODE) + == GFARM_FILE_RDONLY) { + gflog_info(GFARM_MSG_UNFIXED, + "close error (ignored): %s", + gfarm_error_string(e)); + e = GFARM_ERR_NO_ERROR; + } else + gflog_debug(GFARM_MSG_UNFIXED, "close error: %s", + gfarm_error_string(e)); } + if (e_save == GFARM_ERR_NO_ERROR) + e_save = e; gfm_client_connection_free(gf->gfm_server); gfs_file_free(gf); @@ -391,7 +399,6 @@ "close operation on pio failed: %s", gfarm_error_string(e_save)); } - return (e_save); } Modified: gfarm_v2/branches/2.5.7/server/gfsd/gfsd.c =================================================================== --- gfarm_v2/branches/2.5.7/server/gfsd/gfsd.c 2013-03-28 13:06:52 UTC (rev 7965) +++ gfarm_v2/branches/2.5.7/server/gfsd/gfsd.c 2013-03-28 13:12:09 UTC (rev 7966) @@ -1743,7 +1743,7 @@ return (e); else if (IS_CONNECTION_ERROR(e) && !shutting_down) { gflog_error(GFARM_MSG_1003348, - "%s: gfmd may be failed over, try to reconnecting", diag); + "%s: gfmd may be failed over, try to reconnect", diag); free_gfm_server(); if ((e = connect_gfm_server_with_timeout()) != GFARM_ERR_NO_ERROR) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |