You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by km...@rockwellcollins.com on 2010/11/10 15:01:08 UTC
Manually removing corrupted TXNs
I finally wrote a simple script to remove dead transactions older than 1
week. It worked
great, but there appears to be a few old TXNs that are somehow
corrupted/malformed.
Any issues with just going into the fsfs db/transactions directory and
removing
the offending named directory manually?
Using fsfs svn 1.6.12 and mod_dav_svn on windows. (Some of
these transactions were probably created with older versions.)
All 21k revisions verify fine, but svnlook does report an error:
H:\svn\repos>svnadmin lstxns the_repo
77-1
H:\svn\repos>svnlook info the_repo -t 77-1
svnlook: Malformed file
H:\svn\repos>dir 787_displays_repo\db\transactions\77-1.txn
Directory of H:\svn\repos\the_repo\db\transactions\77-1.txn
05/21/2008 10:59 AM <DIR> .
05/21/2008 10:59 AM <DIR> ..
05/21/2008 10:59 AM 0 changes
05/21/2008 10:59 AM 4 next-ids
05/21/2008 10:59 AM 153 node.0.0
05/21/2008 10:59 AM 0 props
05/21/2008 10:59 AM 0 rev
05/21/2008 10:59 AM 0 rev-lock
6 File(s) 157 bytes
2 Dir(s) 64,575,000,576 bytes free
H:\svn\repos>type the_repo\db\transactions\77-1.txn\next-ids
0 0
H:\svn\repos>type the_repo\db\transactions\77-1.txn\node.0.0
id: 0.0.t77-1
type: dir
pred: 0.0.r77/37863
count: 78
text: 77 37752 98 98 55b9c9a8be05671d26f80ae39de656c0
cpath: /
copyroot: 0 /
is-fresh-txn-root: y
I have some other repos with transactions with similar errors
and also other ones with slightly different errors.
The repos themselves verify, dump, and load fine, the
data itself is stored on an enterprise SAN. No filesystem
corruption found.
The other errors:
svnlook: Can't open file
'H:\svn\repos\the_repo2\db\transactions\2700-2.txn\pr
ops': The system cannot find the file specified.
H:\svn\repos>dir the_repo2\db\transactions\2700-2.txn
Directory of H:\svn\repos\the_repo2\db\transactions\2700-2.txn
11/27/2007 02:08 AM <DIR> .
11/27/2007 02:08 AM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 64,568,352,768 bytes free
svnlook: Corrupt node-revision '0.0.t33407-bp8'
svnlook: Missing id field in node-rev
H:\svn\repos>dir the_repo3\db\transactions\33407-bp8.txn
Directory of H:\svn\repos\the_repo3\db\transactions\33407-bp8.txn
11/06/2009 12:46 PM <DIR> .
11/06/2009 12:46 PM <DIR> ..
11/06/2009 12:46 PM 0 changes
11/06/2009 12:46 PM 4 next-ids
11/06/2009 12:46 PM 182 node.0.0
11/06/2009 12:46 PM 216 props
4 File(s) 402 bytes
2 Dir(s) 64,568,352,768 bytes free
(next-ids and node.0.0 just contain nulls. props contains the actual
property data.)
thanks!
Kevin R.
Re: Manually removing corrupted TXNs
Posted by km...@rockwellcollins.com.
Daniel Shahaf <d....@daniel.shahaf.name> wrote on 11/10/2010 10:35:16 AM:
> > I finally wrote a simple script to remove dead transactions older than
1
> > week. It worked
> > great, but there appears to be a few old TXNs that are somehow
> > corrupted/malformed.
> >
> > Any issues with just going into the fsfs db/transactions directory and
> > removing
> > the offending named directory manually?
> >
>
> I'm not sure. Does 'svnadmin rmtxns' not work?
Good question. My script was failing due to svnlook, but
it appears svnadmin rmxtns also fails.
H:\svn\repos>svnadmin rmtxns the_repo 77-1
svnadmin: Malformed file
I'm guessing two things here. It is probably safe to
just remove the dir, and that rmtxns probably should
be changed to not require a transaction be valid
before removing it...
Kevin R.
Re: Manually removing corrupted TXNs
Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
kmradke@rockwellcollins.com wrote on Wed, Nov 10, 2010 at 09:01:08 -0600:
> I finally wrote a simple script to remove dead transactions older than 1
> week. It worked
> great, but there appears to be a few old TXNs that are somehow
> corrupted/malformed.
>
> Any issues with just going into the fsfs db/transactions directory and
> removing
> the offending named directory manually?
>
I'm not sure. Does 'svnadmin rmtxns' not work?
> Using fsfs svn 1.6.12 and mod_dav_svn on windows. (Some of
> these transactions were probably created with older versions.)
>
> All 21k revisions verify fine, but svnlook does report an error:
>
> H:\svn\repos>svnadmin lstxns the_repo
> 77-1
>
> H:\svn\repos>svnlook info the_repo -t 77-1
> svnlook: Malformed file
>
>
> H:\svn\repos>dir 787_displays_repo\db\transactions\77-1.txn
> Directory of H:\svn\repos\the_repo\db\transactions\77-1.txn
>
> 05/21/2008 10:59 AM <DIR> .
> 05/21/2008 10:59 AM <DIR> ..
> 05/21/2008 10:59 AM 0 changes
> 05/21/2008 10:59 AM 4 next-ids
> 05/21/2008 10:59 AM 153 node.0.0
> 05/21/2008 10:59 AM 0 props
> 05/21/2008 10:59 AM 0 rev
> 05/21/2008 10:59 AM 0 rev-lock
> 6 File(s) 157 bytes
> 2 Dir(s) 64,575,000,576 bytes free
>
> H:\svn\repos>type the_repo\db\transactions\77-1.txn\next-ids
> 0 0
>
> H:\svn\repos>type the_repo\db\transactions\77-1.txn\node.0.0
> id: 0.0.t77-1
> type: dir
> pred: 0.0.r77/37863
> count: 78
> text: 77 37752 98 98 55b9c9a8be05671d26f80ae39de656c0
> cpath: /
> copyroot: 0 /
> is-fresh-txn-root: y
>
> I have some other repos with transactions with similar errors
> and also other ones with slightly different errors.
>
> The repos themselves verify, dump, and load fine, the
> data itself is stored on an enterprise SAN. No filesystem
> corruption found.
>
> The other errors:
>
> svnlook: Can't open file
> 'H:\svn\repos\the_repo2\db\transactions\2700-2.txn\pr
> ops': The system cannot find the file specified.
>
> H:\svn\repos>dir the_repo2\db\transactions\2700-2.txn
> Directory of H:\svn\repos\the_repo2\db\transactions\2700-2.txn
>
> 11/27/2007 02:08 AM <DIR> .
> 11/27/2007 02:08 AM <DIR> ..
> 0 File(s) 0 bytes
> 2 Dir(s) 64,568,352,768 bytes free
>
>
> svnlook: Corrupt node-revision '0.0.t33407-bp8'
> svnlook: Missing id field in node-rev
>
> H:\svn\repos>dir the_repo3\db\transactions\33407-bp8.txn
> Directory of H:\svn\repos\the_repo3\db\transactions\33407-bp8.txn
>
> 11/06/2009 12:46 PM <DIR> .
> 11/06/2009 12:46 PM <DIR> ..
> 11/06/2009 12:46 PM 0 changes
> 11/06/2009 12:46 PM 4 next-ids
> 11/06/2009 12:46 PM 182 node.0.0
> 11/06/2009 12:46 PM 216 props
> 4 File(s) 402 bytes
> 2 Dir(s) 64,568,352,768 bytes free
>
> (next-ids and node.0.0 just contain nulls. props contains the actual
> property data.)
>
> thanks!
> Kevin R.