You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/08/31 15:11:41 UTC

svn commit: r991182 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c

Author: julianfoad
Date: Tue Aug 31 13:11:40 2010
New Revision: 991182

URL: http://svn.apache.org/viewvc?rev=991182&view=rev
Log:
For issue #3696 "FSFS error - Can't open file 'db/transactions/props'"
<http://subversion.tigris.org/issues/show_bug.cgi?id=3696>, use a normal
error report instead of an assertion.  We should trace and fix the cause,
but that's proving difficult and as long as the error is known to occur in
real life we want to report it.  A follow-up to r980046.

* subversion/libsvn_fs_fs/fs_fs.c
  (get_txn_proplist): Replace an assertion with a regular error report.

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=991182&r1=991181&r2=991182&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Aug 31 13:11:40 2010
@@ -4687,12 +4687,12 @@ get_txn_proplist(apr_hash_t *proplist,
 {
   svn_stream_t *stream;
 
-  /* The following error has been observed at least twice in real life when
-   * WANdisco software sends a DAV 'MERGE' command to a Subversion server:
-   * "Can't open file '[...]/db/transactions/props': No such file or directory"
-   * The path should be '[...]/db/transactions/<txn-id>/props'.
-   * The only way that could happen is if txn_id was NULL here. */
-  SVN_ERR_ASSERT(txn_id != NULL);
+  /* Check for issue #3696. (When we find and fix the cause, we can change
+   * this to an assertion.) */
+  if (txn_id == NULL)
+    return svn_error_create(SVN_ERR_INCORRECT_PARAMS, NULL,
+                            _("Internal error: a null transaction id was "
+                              "passed to get_txn_proplist()"));
 
   /* Open the transaction properties file. */
   SVN_ERR(svn_stream_open_readonly(&stream, path_txn_props(fs, txn_id, pool),