You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/09/15 12:03:49 UTC
svn commit: r997248 - in /subversion/branches/1.6.x: ./ CHANGES STATUS
subversion/libsvn_fs_fs/lock.c subversion/tests/cmdline/merge_tests.py
Author: hwright
Date: Wed Sep 15 10:03:49 2010
New Revision: 997248
URL: http://svn.apache.org/viewvc?rev=997248&view=rev
Log:
Merge r959760 from trunk:
* r959760
Fix the FSFS lock deletion code to properly clean up lock information
instead of allowing stale lock data to remain indefinitely.
Justification:
Today, FSFS repositories that make use of user locks will consume
unnecessary disk space and incur unnecessary processing penalties
due to stale lock information (which is, thankfully, ignored as
irrelevant rather than escalated as an error condition).
Votes:
+1: cmpilato, jerenkrantz, hwright
Modified:
subversion/branches/1.6.x/ (props changed)
subversion/branches/1.6.x/CHANGES (props changed)
subversion/branches/1.6.x/STATUS
subversion/branches/1.6.x/subversion/libsvn_fs_fs/lock.c
subversion/branches/1.6.x/subversion/tests/cmdline/merge_tests.py (props changed)
Propchange: subversion/branches/1.6.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 15 10:03:49 2010
@@ -83,4 +83,4 @@
/subversion/branches/tc_url_rev:874351-874483
/subversion/branches/tree-conflicts:868291-873154
/subversion/branches/tree-conflicts-notify:873926-874008
-/subversion/trunk:875965,875968,876004,876012,876017,876019,876022,876024,876032,876041-876042,876048,876051,876055-876056,876059,876083,876091,876097,876101,876104,876109,876123-876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,876223-876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-876518,876524,876526,876583,876601,876614-876615,876628,876633,876641,876659,876687,876689,876705,876715,876726,876760,876763,876794,876804,876815-876816,876821,876825,876837,876840-876841,876843,876849,876857-876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,876948-876949,876953,876987,876993,877011,877014,877016,877028-877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,877230,877234,877237,877243,877249,877259,877261,877304,877319,877407,877437,877441-877442,877453,877459,87747
2,877544,877553,877565,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,877916,877931,877942,877953,877964,877968,877970,877981-877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,878089,878091,878093,878095,878127,878129,878131,878142,878173-878176,878216,878240,878242,878255,878269,878272,878279,878296-878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-878368,878385,878399,878423,878426,878447,878462,878484,878491,878498,878532,878595,878646,878659,878673,878682-878683,878690-878691,878693,878723,878760-878761,878873,878875,878877,878879,878905,878910-878911,878915-878916,878924-878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,879074,879076,879081-879082,879093,879105,879126,879148,879170,879198-879199,879201,879271,879293,879357,879375-879376,879403,879631,
879635-879636,879688,879709-879711,879747,879902,879916,879954,879961,879966,879971,880082,880095,880105,880162,880226,880274-880275,880370,880450,880461,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,896915,898048,898963,899826,899828,900797,901304,901752,902093,904301,904394,904594,905303,905326,906256,906305,906587,908980-908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,931209,931211,931392,931568,932942,933299,934599,934603,935631,935992,935996,937610,939375-939376,944635,948916,950931,950933,951753,952992,953317,957507,959004,961970,964767,965405,965469,965508,979429,980811,981449
+/subversion/trunk:875965,875968,876004,876012,876017,876019,876022,876024,876032,876041-876042,876048,876051,876055-876056,876059,876083,876091,876097,876101,876104,876109,876123-876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,876223-876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-876518,876524,876526,876583,876601,876614-876615,876628,876633,876641,876659,876687,876689,876705,876715,876726,876760,876763,876794,876804,876815-876816,876821,876825,876837,876840-876841,876843,876849,876857-876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,876948-876949,876953,876987,876993,877011,877014,877016,877028-877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,877230,877234,877237,877243,877249,877259,877261,877304,877319,877407,877437,877441-877442,877453,877459,87747
2,877544,877553,877565,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,877916,877931,877942,877953,877964,877968,877970,877981-877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,878089,878091,878093,878095,878127,878129,878131,878142,878173-878176,878216,878240,878242,878255,878269,878272,878279,878296-878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-878368,878385,878399,878423,878426,878447,878462,878484,878491,878498,878532,878595,878646,878659,878673,878682-878683,878690-878691,878693,878723,878760-878761,878873,878875,878877,878879,878905,878910-878911,878915-878916,878924-878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,879074,879076,879081-879082,879093,879105,879126,879148,879170,879198-879199,879201,879271,879293,879357,879375-879376,879403,879631,
879635-879636,879688,879709-879711,879747,879902,879916,879954,879961,879966,879971,880082,880095,880105,880162,880226,880274-880275,880370,880450,880461,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,896915,898048,898963,899826,899828,900797,901304,901752,902093,904301,904394,904594,905303,905326,906256,906305,906587,908980-908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,931209,931211,931392,931568,932942,933299,934599,934603,935631,935992,935996,937610,939375-939376,944635,948916,950931,950933,951753,952992,953317,957507,959004,959760,961970,964767,965405,965469,965508,979429,980811,981449
Propchange: subversion/branches/1.6.x/CHANGES
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 15 10:03:49 2010
@@ -82,4 +82,4 @@
/subversion/branches/tc_url_rev/CHANGES:874351-874483
/subversion/branches/tree-conflicts/CHANGES:868291-873154
/subversion/branches/tree-conflicts-notify/CHANGES:873926-874008
-/subversion/trunk/CHANGES:837701-841355,875962-955766,957507,959004,961970,964767,965405,965469,965508,979429
+/subversion/trunk/CHANGES:837701-841355,875962-955766,957507,959004,959760,961970,964767,965405,965469,965508,979429
Modified: subversion/branches/1.6.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=997248&r1=997247&r2=997248&view=diff
==============================================================================
--- subversion/branches/1.6.x/STATUS (original)
+++ subversion/branches/1.6.x/STATUS Wed Sep 15 10:03:49 2010
@@ -275,17 +275,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r959760
- Fix the FSFS lock deletion code to properly clean up lock information
- instead of allowing stale lock data to remain indefinitely.
- Justification:
- Today, FSFS repositories that make use of user locks will consume
- unnecessary disk space and incur unnecessary processing penalties
- due to stale lock information (which is, thankfully, ignored as
- irrelevant rather than escalated as an error condition).
- Votes:
- +1: cmpilato, jerenkrantz, hwright
-
* r979045
Teach mod_dav_svn to pass a base_checksum to libsvn_ra_neon's update
editor. This enhances the early detection of broken working copies,
Modified: subversion/branches/1.6.x/subversion/libsvn_fs_fs/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/libsvn_fs_fs/lock.c?rev=997248&r1=997247&r2=997248&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/libsvn_fs_fs/lock.c (original)
+++ subversion/branches/1.6.x/subversion/libsvn_fs_fs/lock.c Wed Sep 15 10:03:49 2010
@@ -320,7 +320,7 @@ set_lock(svn_fs_t *fs,
apr_pool_t *pool)
{
svn_stringbuf_t *this_path = svn_stringbuf_create(lock->path, pool);
- svn_stringbuf_t *last_child = svn_stringbuf_create("", pool);
+ const char *lock_digest_path = NULL;
apr_pool_t *subpool;
SVN_ERR_ASSERT(lock);
@@ -351,15 +351,16 @@ set_lock(svn_fs_t *fs,
{
this_lock = lock;
lock = NULL;
- svn_stringbuf_set(last_child, digest_file);
+ lock_digest_path = apr_pstrdup(pool, digest_file);
}
else
{
/* If we already have an entry for this path, we're done. */
- if (apr_hash_get(this_children, last_child->data, last_child->len))
+ if (apr_hash_get(this_children, lock_digest_path,
+ APR_HASH_KEY_STRING))
break;
- apr_hash_set(this_children, last_child->data,
- last_child->len, (void *)1);
+ apr_hash_set(this_children, lock_digest_path,
+ APR_HASH_KEY_STRING, (void *)1);
}
SVN_ERR(write_digest_file(this_children, this_lock, fs,
digest_path, subpool));
@@ -382,13 +383,13 @@ delete_lock(svn_fs_t *fs,
apr_pool_t *pool)
{
svn_stringbuf_t *this_path = svn_stringbuf_create(lock->path, pool);
- svn_stringbuf_t *child_to_kill = svn_stringbuf_create("", pool);
+ const char *child_to_kill = NULL;
apr_pool_t *subpool;
SVN_ERR_ASSERT(lock);
/* Iterate in reverse, deleting the lock for LOCK->path, and then
- pruning entries from its parents. */
+ deleting its entry as it appears in each of its parents. */
subpool = svn_pool_create(pool);
while (1729)
{
@@ -406,32 +407,27 @@ delete_lock(svn_fs_t *fs,
SVN_ERR(read_digest_file(&this_children, &this_lock, fs,
digest_path, subpool));
- /* If we are supposed to drop the last entry from this path's
- children list, do so. */
- if (child_to_kill->len)
- apr_hash_set(this_children, child_to_kill->data,
- child_to_kill->len, NULL);
-
/* Delete the lock (first time through only). */
if (lock)
{
this_lock = NULL;
lock = NULL;
+ child_to_kill = apr_pstrdup(pool, digest_file);
}
+ if (child_to_kill)
+ apr_hash_set(this_children, child_to_kill, APR_HASH_KEY_STRING, NULL);
+
if (! (this_lock || apr_hash_count(this_children) != 0))
{
/* Special case: no goodz, no file. And remember to nix
the entry for it in its parent. */
- svn_stringbuf_set(child_to_kill,
- svn_path_basename(digest_path, subpool));
SVN_ERR(svn_io_remove_file(digest_path, subpool));
}
else
{
SVN_ERR(write_digest_file(this_children, this_lock, fs,
digest_path, subpool));
- svn_stringbuf_setempty(child_to_kill);
}
/* Prep for next iteration, or bail if we're done. */
Propchange: subversion/branches/1.6.x/subversion/tests/cmdline/merge_tests.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 15 10:03:49 2010
@@ -81,4 +81,4 @@
/subversion/branches/tree-conflicts/subversion/tests/cmdline/merge_tests.py:868291-873154
/subversion/branches/tree-conflicts-notify/subversion/tests/cmdline/merge_tests.py:873926-874008
/subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py:953878
-/subversion/trunk/subversion/tests/cmdline/merge_tests.py:875965,875968,876004,876012,876017,876019,876022,876024,876032,876041-876042,876048,876051,876055-876056,876059,876083,876091,876097,876101,876104,876109,876123-876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,876223-876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-876518,876524,876526,876583,876601,876614,876628,876633,876641,876659,876687,876689,876705,876715,876726,876760,876763,876794,876804,876815-876816,876821,876825,876837,876840-876841,876843,876849,876857-876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,876948-876949,876953,876987,876993,877011,877014,877016,877028-877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,877230,877234,877237,877243,877249,877259,877261,877304,877319,877407,877437,
877441-877442,877453,877459,877472,877544,877553,877565,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,877916,877931,877942,877953,877964,877968,877970,877981-877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,878089,878091,878093,878095,878127,878129,878131,878142,878173-878176,878216,878240,878242,878255,878269,878272,878279,878296-878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-878368,878385,878399,878423,878426,878447,878462,878484,878491,878498,878532,878595,878646,878659,878673,878682-878683,878690-878691,878693,878723,878760-878761,878873,878875,878877,878879,878905,878910-878911,878915-878916,878924-878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,879074,879076,879081-879082,879093,879105,879126,879148,879170,879198-879199,879201,879271,879293,87
9357,879375-879376,879403,879631,879635-879636,879688,879709-879711,879747,879902,879916,879954,879961,880082,880095,880105,880162,880226,880274-880275,880370,880450,880461,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,896915,898048,898963,899826,899828,900797,901304,901752,902093,904301,904394,904594,905303,905326,906256,906305,906587,908980-908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,931209,931211,931392,931568,932942,933299,935992,935996,937610,944635,948916,951753,953317,957507,959004,961970,964767,965405,965469,965508,979429
+/subversion/trunk/subversion/tests/cmdline/merge_tests.py:875965,875968,876004,876012,876017,876019,876022,876024,876032,876041-876042,876048,876051,876055-876056,876059,876083,876091,876097,876101,876104,876109,876123-876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,876223-876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-876518,876524,876526,876583,876601,876614,876628,876633,876641,876659,876687,876689,876705,876715,876726,876760,876763,876794,876804,876815-876816,876821,876825,876837,876840-876841,876843,876849,876857-876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,876948-876949,876953,876987,876993,877011,877014,877016,877028-877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,877230,877234,877237,877243,877249,877259,877261,877304,877319,877407,877437,
877441-877442,877453,877459,877472,877544,877553,877565,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,877916,877931,877942,877953,877964,877968,877970,877981-877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,878089,878091,878093,878095,878127,878129,878131,878142,878173-878176,878216,878240,878242,878255,878269,878272,878279,878296-878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-878368,878385,878399,878423,878426,878447,878462,878484,878491,878498,878532,878595,878646,878659,878673,878682-878683,878690-878691,878693,878723,878760-878761,878873,878875,878877,878879,878905,878910-878911,878915-878916,878924-878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,879074,879076,879081-879082,879093,879105,879126,879148,879170,879198-879199,879201,879271,879293,87
9357,879375-879376,879403,879631,879635-879636,879688,879709-879711,879747,879902,879916,879954,879961,880082,880095,880105,880162,880226,880274-880275,880370,880450,880461,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,896915,898048,898963,899826,899828,900797,901304,901752,902093,904301,904394,904594,905303,905326,906256,906305,906587,908980-908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,931209,931211,931392,931568,932942,933299,935992,935996,937610,944635,948916,951753,953317,957507,959004,959760,961970,964767,965405,965469,965508,979429