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.