could you please also add the -v cURL option, just to make sure the request went well:
curl -v -k -u…
What about the number of tabs, could it be the case you have too many of them opened? Also, could you please advise are Bitbucket Server pages available and work well and if only SVN Mirror add-on pages are affected?
we are investigating this right now, I’ll be keeping you informed.
Meanwhile, we could use the REST API for the mirroring operations, too, could you please advise what the changes or operations do you need to perform in repositories?
we continue investigating the issue, yet haven’t managed to re-produce it in our test environment. May I ask you to share Bitbucket and SVN Mirror logs with us to investigate? I’m afraid add-on’s Support ZIP feature is not much of a help currently, but it’s possible to collect it directly from the filesystem. Also, could you please advise what is your Bitbucket Server version and edition, how many node are in the cluster (if that is Datacenter cluster), and how did you install the add-on – have you installed it from Atlassian Marketplace or in some other way?
just duplicating the email I’ve sent you. Email and this forum are two ways we are using to provide support yet this forum is preferred one, so I suggest continuing here.
Here is the email:
we are still investigating the issue, yet as I wrote in the forum thread, we haven’t managed to re-produce the issue locally, so the reason is not yet clear enough.
It would be much of a help for us to have Bitbucket and SVN Mirror logs (both global and affected repository specific) along with the setup details –
Bitbucket version and edition, SVN Mirror add-on installation path, Bitbucket cluster configuration (how many node it has and do they reside in the same data center),
and also how do you access the Bitbucket – do you have a VPN or maybe an SSH tunnel and of there are any network limitation, like some TCP ports closed?
This information will help us much to understand the overall situation and find out the cause.
Meanwhile, since you have a possibility to communicate with Bitbucket using REST API, we can proceed configuring and running mirrors through add-on’s REST API.
It’s pretty strange, however, that it’s back without any actions or reconfigurations, it may worth to proceed with the investigation to find out the cause checking the data I mentioned earlier today. IT would also worth to check the network connection and environment as such an issue most probably is caused by network issues.
Ildar is on vacation these days, so I’ll do my best to fix the problem.
Input/Output error.
This is a generic error that comes from the file system. Unfortunately, it’s hard to say what exactly caused the failure, could your server admin scan through the NFS error log and see any relevant errors there?
Also, double-check that the disk space is sufficient on all the Bitbucket nodes you’re running. If you have debug logging enabled for both Bitbucket app and SVN Mirror add-on, I’d recommend disabling the debug logging, at least temporarily, since excessive logging may eat up some disk space.
Import cancellation is stuck.
The file system error got the import process stuck, so the cancellation is unable to complete. Unfortunately, the only way out is restarting the plugin: go to Administration | Manage apps | SVN Mirror for Bitbucket Server, click on Disable button there, wait until the plugin is unloaded and then enable it back.
Please let us know if restarting the plugin helps.
Thank you for the update. I’ve tried analyzing the log files you’ve provided us earlier and I believe you’re facing two major problems with our add-on:
Sporadic file system errors.
Looks like these errors occur during automatic mirror configuration and, as result, our add-on has to restart the process all over again. That leads to incomplete mirror configuration and the resulted branches mapping leads to inefficient import, e.g. fetching some tags as regular directories, which makes the import process extremely slow with enormous traffic between the SVN server and the Bitbucket node.
I think there’s a pattern in those file system errors: usually, our add-on creates a temporary file and then immediately deletes or renames it. This happens when a config file gets generated during automatic mirror configuration and also when a new object gets written into the objects database. I saw both types of errors in the log files.
There are two possible causes for such errors:
External process that interferes with short-lived files generated by our add-on. Please let me know if you’re using any kind of file scanners or any anti-virus software that theoretically may read those files in the background. It’s also possible that your operating system imposes some restrictions on the file system level that may interfere with our add-on, so let me know what OS you’re running. Finally, let me know if you’re running a Docker container for a Bitbucket node and if so, what image do you use for that, what version of Docker?
NFS-specific errors, e.g. network sync error on some short-lived files. Your server admin should be able to see those errors somewhere in the error log. You might also need to enable debug logging on the NFS level. Let me know if you can find anything there.
Timeout reading mirror data and similar errors.
These are UI-specific errors caused by a network failure. Connection is getting lost somewhere between your browser and a Bitbucket node. Could you elaborate more on your current setup: what load balancer do you use for the Bitbucket cluster? Can you try accessing a specific Bitbucket note bypassing the balancer?
You also mentioned that you’re using a VPN for accessing Bitbucket DC, is it possible to access a mirror settings page bypassing the VPN? Could you try accessing it from some other machine?
Is the timeout error steadily reproducible for all the browsers on your machine?
so far we are mostly out of ideas why this issue may happen - we had never encountered anything similar :(
What may give some clues is that “timeout” problem is not always reproducible - as far as I had understood it presented itself after you’ve restarted add-on. Also, a few months ago, that same issue resolved itself without any changes to the add-on or environment.
What I suppose might happen is that in your Data Center cluster of two nodes one SVN Mirror add-on doesn’t work properly on one of the nodes. If this would be the case, then balance loader may direct browser request to one node, and background request to another node (where add-on is not working or not replying properly).
To check this assumption I would suggest you to do the following, if that possible:
Temporary shutdown one of the Data Center cluster nodes, check that there is only one node displayed as running at Administration → Clustering page
Test if add-on UI works by going to Administration → Manage Apps → SVN Mirror Add-on → Configure page.
If problem persist, start the node you’ve shutdown back and disable another one. If my assumption is correct, this way we could find the node on which add-on is not working as expected and proceed from that.
In case issue persist even in single-node configuration then there might be some additional information in the browser dev console. To get that information:
press F12 when timeout error pop-up appears. Dev console will open
Navigate to Network tab
Press F5 or Ctrl-R to reload the page and collect network requests data
Click right mouse button for context menu and select “Save all as HAR” (or similar) - you will get the log file containing collected network requests, send it to support@subgit.com
I have a quick question. Can we have an option to skip the current revision from migrating and proceed with the next one?
Please find the logs that show revisions “80381” through “80383” where the import stopped suddenly.
2021-08-01 09:37:33,762 sync - successfully received ‘branches/PECVD_XL_XT_3_1/devices/com/nvls/ncf/rt/device/mwhcontrol/simulation/implementation/SimMWHPowerControl.java’ with size=33234
2021-08-01 09:37:39,816 sync - fetched: hash = 957bfb95387c2a846ff1684dc57f5520c0398b78, branch = refs/svn/root/branches/PECVD_XL_XT_3_1, revision = 80382
2021-08-01 09:37:40,520 sync - Updating latest fetched revision for svn-remote “svn” to r80382
2021-08-01 09:37:40,809 sync - Getting content of “” directory at revision 80382
2021-08-01 09:37:40,851 sync - Getting content of “branches” directory at revision 80382
2021-08-01 09:37:43,471 sync - Getting content of “tags” directory at revision 80382
2021-08-01 09:38:24,979 sync - SET_PATH ‘’ 80383 not empty depth=infinity
2021-08-01 09:38:24,995 sync - SET_PATH ‘branches’ 80383 not empty depth=infinity
2021-08-01 09:38:25,053 sync - SET_PATH ‘’ 80382 not empty depth=infinity
2021-08-01 09:38:25,053 sync - Switch from http://xxxxx/Project_2543_Program_Derivation_B5 to http://xxxxxxxx/branches/GSPANN_ENHANCEMENTS_3
2021-08-01 17:52:35,386 sync - sendCopyFrom=false
r80383
A branches/GSPANN_ENHANCEMENTS_3 (from branches:80381)
Unfortunately, SVN Mirror can’t skip any specific revisions.
In this particular case, I recommend you skip the whole branch completely as it was copied from ^/branches/ directory. That means SubGit has to fetch the whole ^/branches/ directory in order to fetch ^/branches/GSPANN_ENHANCEMENTS_3. This is clearly the reason why your import gets stuck and then fails with I/O error.
You can skip the problematic branch with svn.excludeBranches option that you can specify along with the branches mapping: