Svn: E160006: svn: E160006: Revision file does not exist, and is not packed

  1. SCM-Manager Version: 2.34.0
  2. SVN on the server: svn, version 1.10.2 (r1835932)
  3. Server OS: Rocky Linux release 8.4 (Green Obsidian)
  4. SVN Plugin: 2.34.0
  5. Checkout Mode: HTTPS
  6. SVN Client: SVN_1.7 client libraries
  7. SVN Client machine: Windows Server 2016
  8. JAVA Version: openjdk version “11.0.13” 2021-10-19 LTS

Issue: Packing fresh commit revisions takes longer hitting the server performance and failing dependent CI builds

Client Logs:

Command error output: svn: E170013: Unable to connect to a repository at URL 'https://svn-s.englab.local/repo/svn/cbrepos/<REPO_NAME>/Branches/<BRANCH>'
svn: E160006: svn: E160006: Revision file '/svndata/repositories/4wSpX1FOio/data/db/revs/65635' does not exist, and r65635 is not packed

Server Logs:

2022-06-14 08:14:19.783 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit.network -
request.getAuthType(): null
request.getCharacterEncoding(): null
request.getContentType(): text/xml
request.getContextPath():
request.getContentLength(): 148
request.getMethod(): PROPFIND
request.getPathInfo(): /!svn/bln/65635
request.getPathTranslated(): /var/cache/scm/work/webapp/webapp/svn/cbrepos/!svn/bln/65635
request.getQueryString(): null
request.getRemoteAddr(): 16.73.32.191
request.getRemoteHost(): 16.73.32.191
request.getRemoteUser(): svcbuildm
request.getRequestURI(): /repo/svn/cbrepos/!svn/bln/65635
request.getServerName(): svn-s.englab.local
request.getServerPort(): 443
request.getServletPath(): /repo/svn/cbrepos
request.getRequestURL(): https://svn-s.englab.local/repo/svn/cbrepos/!svn/bln/65635
2022-06-14 08:14:19.783 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit - svn: E140000: Can't read length line from file /svndata/repositories/4wSpX1FOio/data/db/format
2022-06-14 08:14:19.785 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit -
uri: /!svn/bln/65635
label: null
context: /repo/svn/cbrepos
2022-06-14 08:14:19.785 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit -
DAVResourceURI.getRequestURI(): /repo/svn/cbrepos/!svn/bln/65635
DAVResourceURI.getURI(): /!svn/bln/65635
DAVResourceURI.getPath(): null
DAVResourceURI.getContext(): /repo/svn/cbrepos
2022-06-14 08:14:19.785 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit - uri type - version, uri kind - bln
2022-06-14 08:14:19.785 [qtp1642534850-4523] [BMT8kH0Ym10Pw] DEBUG svnkit - svn: E140000: Can't read length line from file /svndata/repositories/4wSpX1FOio/data/db/format

2022-06-14 08:31:01.690 [qtp1642534850-4427] [CsT8kLDCW132x] DEBUG svnkit.fsfs - svn: E160006: Revision file '/svndata/repositories/4wSpX1FOio/data/db/revs/65635' does not exist, and r65635 is not packed
2022-06-14 08:31:01.690 [qtp1642534850-4427] [CsT8kLDCW132x] DEBUG svnkit.network - svn: E160006: Revision file '/svndata/repositories/4wSpX1FOio/data/db/revs/65635' does not exist, and r65635 is not packed

Temporary workaround to resolve this: I have a cron running these maintenance tasks but missing in between though. Need a permanent fix.

  1. Run svnadmin pack <REPO_PATH>
  2. Run chown -R scm:scm <REPO_PATH>

Looks like related to this issue:
https://jira.atlassian.com/browse/FE-6535
and
https://issues.tmatesoft.com/issue/SVNKIT-667

Thank you Girish we will have a look at it.

This could take some time beacuse you already found a workaround for you. However we take it seriously.

The svnadmin pack <REPO> has less effect as SCM-Manager is working through the SVNKit and its cache/indexing still complaining that the latest REVISION is not yet packed.
SO both are working independently and is expected. The question is how do we resolve the delay in PACKING and/or refreshing the cache/indexes to be ready within the expectations?

1) I would run svnadmin pack <myrepo> and its complete quickly
RESULT: 107590

2) I would run YOUNGEST_REV=$(svnlook youngest myrepo) && svnadmin verify <myrepo> -r${YOUNGEST_REV}
RESULT:
* Verifying repository metadata ...
* Verified revision 107590.

All the above steps would take around 15-to-20 seconds.

3) Then I try running the CI builds which would take another 10-15 seconds to request SVN PROPS with the server through HTTPS

So over all 50 seconds to 60 seconds is the time interval between the COMMIT and NEXT REQUEST.

But it seems like insufficient time for the SCM-Manager to manage the POST COMMIT actions like, CACHE, PACKING, INDEXING and BE-READY.

This is a serious concern I am facing and I am helpless right now.

1) Is there a way we can fine tune the SCM-Manager performance by changing the workers count?
2) What else could solve this bottleneck?

The situation is growing beyond control.

The SVN repository becoming corrupt frequently and I am spending sleepless nights.

-------------------< REV-107519 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107519
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107520 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107520
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107521 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107521
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107522 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107522
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107523 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107523
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107524 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107524
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107525 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107525
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107526 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107526
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107527 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107527
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107528 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107528
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107529 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107529
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107530 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107530
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107531 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107531
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107532 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107532
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107533 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107533
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107534 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107534
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107535 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107535
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107536 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107536
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107537 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107537
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107538 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107538
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107539 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107539
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107540 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107540
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107541 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107541
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107542 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107542
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107543 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107543
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107544 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107544
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107545 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107545
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107546 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107546
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107547 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107547
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107548 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107548
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107549 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107549
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107550 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107550
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107551 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107551
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107552 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107552
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107553 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107553
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107554 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107554
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107555 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107555
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107556 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107556
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107557 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107557
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107558 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107558
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107559 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107559
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107560 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107560
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107561 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107561
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107562 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107562
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107563 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107563
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107564 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107564
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107565 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107565
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107566 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107566
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107567 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107567
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107568 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107568
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107569 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107569
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107570 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107570
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107571 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107571
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107572 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107572
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107573 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107573
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107574 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107574
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107575 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107575
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107576 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107576
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107577 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107577
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107578 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107578
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107579 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107579
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107580 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107580
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107581 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107581
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107582 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107582
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107583 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107583
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107584 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107584
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107585 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107585
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107586 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107586
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107587 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107587
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107588 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107588
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107589 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107589
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107590 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107590
svnadmin: E160004: Corrupt 'current' file

-------------------< REV-107591 >-------------------
Attempting to execute svnadmin verify /svndata/repositories/repos/data -r107591
svnadmin: E160004: Corrupt 'current' file

Hey Girish,

currently I can only give you some wild guesses and ask for more information…

  • Did you stumble about an error which mentioned malformed header in revision file?
  • Could it be that your infrastructure (reverse proxy, firewall) blocks any particular svn requests? Since each commit can consist of many requests I think this could create corrupt states.
  • Since when did this behavior occur and is only one repository affected?
  • As always: Is it possible that you provide an example repository so we can debug into it?

BR, Eduard