You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Max Bowsher (JIRA)" <ji...@apache.org> on 2016/08/18 21:00:24 UTC

[jira] [Created] (CASSANDRA-12497) COPY ... TO STDOUT regression in 2.2.7

Max Bowsher created CASSANDRA-12497:
---------------------------------------

             Summary: COPY ... TO STDOUT regression in 2.2.7
                 Key: CASSANDRA-12497
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12497
             Project: Cassandra
          Issue Type: Bug
          Components: Tools
            Reporter: Max Bowsher


Cassandra 2.2.7 introduces a regression over 2.2.6 breaking COPY ... TO STDOUT.

In pylib/cqlshlib/copyutil.py, in CopyTask.__init__, self.printmsg is conditionally defined to EITHER a module level function accepting arguments (msg, eol=, encoding=), OR a lambda accepting arguments only (_, eol=).

Consequently, when the lambda is in use (which requires COPY ... TO STDOUT without --debug), any attempt to call CopyTask.printmsg with an encoding parameter causes an exception.

This occurs in ExportTask.run, thus rendering all COPY ... TO STDOUT without --debug broken.

The fix is to update the lambda's arguments to include encoding, or better, replace it with a module-level function defined next to printmsg, so that people realize the two argument lists must be kept in sync.

The regression was introduced in this commit:

commit 5de9de1f5832f2a0e92783e2f4412874423e6e15
Author: Tyler Hobbs <ty...@gmail.com>
Date:   Thu May 5 11:33:35 2016 -0500

    cqlsh: Handle non-ascii chars in error messages
    
    Patch by Tyler Hobbs; reviewed by Paulo Motta for CASSANDRA-11626






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)