Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-12497

COPY ... TO STDOUT regression in 2.2.7

    XMLWordPrintableJSON

Details

    • Normal

    Description

      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 <tylerlhobbs@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

      Attachments

        Issue Links

          Activity

            People

              salomvary Márton Salomváry
              maxb Max Oliver Bowsher
              Márton Salomváry
              Paulo Motta
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: