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 <tylerlho...@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)

Reply via email to