Please donot go by the diff size, I am doing some testing as we do post 
huge integration's to reviewboard.

Since we are migrating from 1.0.9 to 2.5.x I am doing some round of stress 
testing. I have generated merge diff which is all of type "branch" category.
The diff size is whooping 359762870

rbt error I get is 
>>> Making HTTP POST request to 
http://reviewboard-dev.datadomain.com/review/api/validation/diffs/
>>> Got API Error 224 (HTTP code 400): The specified diff file could not be 
parsed.
>>> Error data: {u'stat': u'fail', u'reason': u'need more than 1 value to 
unpack', u'err': {u'msg': u'The specified diff file could not be parsed.', 
u'code': 224}}
Traceback (most recent call last):
  File "/usr/local/bin/rbt", line 9, in <module>
    load_entry_point('RBTools==0.7.5', 'console_scripts', 'rbt')()
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/main.py",
 
line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/__init__.py",
 
line 622, in run_from_argv
    exit_code = self.main(*args) or 0
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/post.py",
 
line 857, in main
    (msg_prefix, e))
rbtools.commands.CommandError: Error validating diff

The specified diff file could not be parsed. (HTTP 400, API Error 224)



on the reviewboard log I get the error as
DiffParser.parse: Beginning parse of diff, size = 359762870
 2016-03-21 10:00:55,337 - ERROR -  - Unexpected error when validating diff.
Traceback (most recent call last):
  File 
"/usr/local/lib/python2.7/site-packages/reviewboard/webapi/resources/validate_diff.py",
 
line 156, in create
    save=False)
  File 
"/usr/local/lib/python2.7/site-packages/reviewboard/diffviewer/managers.py", 
line 417, in create_from_upload
    save=save)
  File 
"/usr/local/lib/python2.7/site-packages/reviewboard/diffviewer/managers.py", 
line 441, in create_from_data
    check_existence=(not parent_diff_file_contents)))
  File 
"/usr/local/lib/python2.7/site-packages/reviewboard/diffviewer/managers.py", 
line 562, in _process_files
    copied=f.copied)
  File 
"/usr/local/lib/python2.7/site-packages/reviewboard/scmtools/perforce.py", 
line 379, in parse_diff_revision
    filename, revision = revision_str.rsplit('#', 1)
ValueError: need more than 1 value to unpack

For sure the error is not due to unpacking behavior as I broke my 
changelist to a 1000 file changelist and posted which went through 
smoothly. All the files in this change list are of type branch.

So what can be the problem here?
1) Is there a size limitation of rbt post diff that reviewboard is not able 
to handle as I can see in reviewboard log the diff is transmitted.
2) Should I look at apache file upload limits
3) Should I look into mysql limits.

Since generating diff on my system takes around 6hrs, I thought of 
generating a diff file using the below command so that I can save time on 
generating diff in each iteration
rbt diff 1234 > rb1234.diff

Now if I try to post it as below
rbt post --diff-filename=rb1234.diff

I get below error
>>> RBTools 0.7.5
>>> Python 2.7.3 (default, Feb 27 2014, 19:58:35) 
[GCC 4.6.3]
>>> Running on Linux-3.5.0-39-generic-x86_64-with-Ubuntu-12.04-precise
>>> Home = /auto/home/konhos
>>> Current directory = /home/konhos/p4ws/test_re_reviewboard
>>> Checking for a Perforce repository...
>>> Running: p4 info
>>> Running: diff --version
>>> repository info: Path: p4broker.datadomain.com:1666, Base path: None, 
Supports changesets: True
>>> Making HTTP GET request to 
http://reviewboard-dev.datadomain.com/review/api/
>>> Making HTTP GET request to 
http://reviewboard-dev.datadomain.com/review/api/validation/diffs/
>>> Cached response for HTTP GET 
http://reviewboard-dev.datadomain.com/review/api/validation/diffs/ expired 
and was modified
>>> Making HTTP POST request to 
http://reviewboard-dev.datadomain.com/review/api/validation/diffs/
Traceback (most recent call last):
  File "/usr/local/bin/rbt", line 9, in <module>
    load_entry_point('RBTools==0.7.5', 'console_scripts', 'rbt')()
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/main.py",
 
line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/__init__.py",
 
line 622, in run_from_argv
    exit_code = self.main(*args) or 0
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/commands/post.py",
 
line 902, in main
    p4_reviewers = 
self.tool.get_commit_message(self.revisions)['p4_reviewers']
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/clients/__init__.py",
 
line 267, in get_commit_message
    commit_message = self.get_raw_commit_message(revisions)
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.5-py2.7.egg/rbtools/clients/perforce.py",
 
line 1322, in get_raw_commit_message
    changelist = revisions['tip']
TypeError: 'NoneType' object has no attribute '__getitem__'


Is this the expected behavior?

Need urgent help as to what could be the problem. Also if somebody can give 
me the exact command for posting diff file then that would be of great help.

RB on OS: Centos 5
repository type: Perforce

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to