Importing an observed svn database fails to import any commits


#1

Observed Behavior:
Diffusion has been trying to import our commits from svn since yesterday afternoon. It has discovered all 180,000 or so commits, it has just failed to import any of them. For instance, running
./bin/repository importing R4 | head

returns

rCQCS1 Message, Change, Owners, Herald
rCQCS2 Message, Change, Owners, Herald
rCQCS3 Message, Change, Owners, Herald
rCQCS4 Message, Change, Owners, Herald
rCQCS5 Message, Change, Owners, Herald
rCQCS6 Message, Change, Owners, Herald
rCQCS7 Message, Change, Owners, Herald
rCQCS8 Message, Change, Owners, Herald
rCQCS9 Message, Change, Owners, Herald
rCQCS10 Message, Change, Owners, Herald

Running

./bin/repository reparse --message --force R4:1

returns

[2018-06-06 11:18:07] EXCEPTION: (AphrontQueryException) #1048: Column 'identityNameRaw' cannot be null at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:355]
arcanist(head=stable, ref.master=b199ca808660, ref.stable=733ac8050162), phabricator(head=stable, ref.master=dbe72df55726, ref.stable=236253df8cd6), phutil(head=stable, ref.master=20eff1c8d14f, ref.stable=f3e10579f640)
  #0 AphrontBaseMySQLDatabaseConnection::throwQueryCodeException(integer, string) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:289]
  #1 AphrontBaseMySQLDatabaseConnection::throwQueryException(mysqli) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:185]
  #2 AphrontBaseMySQLDatabaseConnection::executeRawQuery(string) called at [<phutil>/src/xsprintf/queryfx.php:8]
  #3 queryfx(AphrontMySQLiDatabaseConnection, string, string, string, array, string) called at [<phutil>/src/aphront/storage/connection/AphrontDatabaseConnection.php:58]
  #4 AphrontDatabaseConnection::query(string, string, string, array, string) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1262]
  #5 LiskDAO::insertRecordIntoDatabase(string) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1106]
  #6 LiskDAO::insert() called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1075]
  #7 LiskDAO::save() called at [<phabricator>/src/applications/repository/storage/PhabricatorRepositoryIdentity.php:73]
  #8 PhabricatorRepositoryIdentity::save() called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:80]
  #9 PhabricatorRepositoryCommitMessageParserWorker::updateCommitData(DiffusionCommitRef) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:42]
  #10 PhabricatorRepositoryCommitMessageParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:51]
  #11 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:123]
  #12 PhabricatorWorker::executeTask() called at [<phabricator>/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php:325]
  #13 PhabricatorRepositoryManagementReparseWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:441]
  #14 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:333]
  #15 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/repository/manage_repositories.php:22]

Importing is stuck on 0.0%.

Using the --trace option shows that the command for getting a commit from our svn is

svn --non-interactive --no-auth-cache --username '****' --password '*****' log --xml --limit 1 'svn://<OUR_SERVER>/cqcs@1'

Which returns

<?xml version="1.0" encoding="UTF-8"?>
<log>
    <logentry revision="1">
        <date>1992-12-09T12:36:33.000000Z</date>
        <msg>Standard project directories initialized by cvs2svn.</msg>
    </logentry>
</log>

Expected Behavior:
Not throwing an exception and importing our commits.

Phabricator Version:
commit 236253df8cd69a3c7d3da984bd2f1837e92330cc (HEAD -> stable, origin/stable)

Reproduction Steps:

Unfortunately, I am not sure. I created an svn repository called “CQCS” as name, “CQCS” as callsign and “cqcs” as short name. Nothing for description or tags.

I then added a URI with “Observe” as I/O Type and “Visible” as Display Type. I then activated the Repository and let it do it’s thing. As mentioned, it has discovered all 180,869 commits, but it hasn’t imported any of them.

If you need any more information, please let me know. Thanks!


#2

Sorry, I raised a question about the exact same thing first, see Importing an observed svn repository fails for all commits. I then raised this bug because my post got initially hidden and I had no idea why. I’ll see if the comments on that question fix my problem first.