Hive
  1. Hive
  2. HIVE-2482

Convenience UDFs for binary data type

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.12.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change
    • Release Note:
      This is an incompatible change because the return type of unhex has been changed from string to binary

      Description

      HIVE-2380 introduced binary data type in Hive. It will be good to have following udfs to make it more useful:

      • UDF's to convert to/from hex string
      • UDF's to convert to/from string using a specific encoding
      • UDF's to convert to/from base64 string
      1. HIVE-2482.4.patch
        55 kB
        Mark Wagner
      2. HIVE-2482.3.patch
        44 kB
        Mark Wagner
      3. HIVE-2482.2.patch
        44 kB
        Mark Wagner
      4. HIVE-2482.1.patch
        25 kB
        Mark Wagner

        Issue Links

          Activity

          Hide
          Ala Makota added a comment -

          MOO!

          Show
          Ala Makota added a comment - MOO!
          Hide
          Ala Makota added a comment -

          MOO!

          Show
          Ala Makota added a comment - MOO!
          Hide
          Ashutosh Chauhan added a comment -

          I wont have any time in near future for this. Feel free to take it up.

          Show
          Ashutosh Chauhan added a comment - I wont have any time in near future for this. Feel free to take it up.
          Hide
          Mark Wagner added a comment -

          I've implemented the hex, encoding, and base64 UDFs along with unit tests.

          I've also changed Unhex to return a binary instead of wrapping it's output as a string. This is an incompatible change, but I think it's ultimately the right thing to do.

          Show
          Mark Wagner added a comment - I've implemented the hex, encoding, and base64 UDFs along with unit tests. I've also changed Unhex to return a binary instead of wrapping it's output as a string. This is an incompatible change, but I think it's ultimately the right thing to do.
          Hide
          Edward Capriolo added a comment -

          It is nice that you have written traditional junit tests which can stay but we normally do this with q file. You can look at the developer guide on the wiki to understand how to write these. I an help you along as well because...I do not want your UDFs ending up like mine

          https://issues.apache.org/jira/browse/HIVE-1262

          Show
          Edward Capriolo added a comment - It is nice that you have written traditional junit tests which can stay but we normally do this with q file. You can look at the developer guide on the wiki to understand how to write these. I an help you along as well because...I do not want your UDFs ending up like mine https://issues.apache.org/jira/browse/HIVE-1262
          Hide
          Mark Wagner added a comment -

          I'm aware of .q files and have used them before, but I figured that UDFs are nice and isolated so a unit test is more appropriate. I didn't realize all the other UDFs had their own .q tests. I'll update with a .q test.

          Show
          Mark Wagner added a comment - I'm aware of .q files and have used them before, but I figured that UDFs are nice and isolated so a unit test is more appropriate. I didn't realize all the other UDFs had their own .q tests. I'll update with a .q test.
          Hide
          Thejas M Nair added a comment -

          Edward Capriolo Should we try changing the practice of using .q files everywhere (at least when alternatives are easy enough/possible)?
          The use of .q file gives good test coverage when we do things like change the query plan, as they are more a 'end-to-end' test rather than a 'unit' test. Writing the .q file based test is also often the easier thing to do.
          But there are few reasons why I think we should avoid them when if it does not provide additional test coverage -
          1. It takes lot longer to run compared to real unit tests
          2. They are harder to debug
          3. There are high chances that benchmark (q.out) with wrong results get checked in, as they are generated with '-Doverwrite=true', and the contributor just eyeballs the results to verify the correctness. With real unit test, expected results come first (you write them first), before running the tests to verify.

          Also, I feel that one is likely to cover more corner cases in the test with real unit tests.

          Show
          Thejas M Nair added a comment - Edward Capriolo Should we try changing the practice of using .q files everywhere (at least when alternatives are easy enough/possible)? The use of .q file gives good test coverage when we do things like change the query plan, as they are more a 'end-to-end' test rather than a 'unit' test. Writing the .q file based test is also often the easier thing to do. But there are few reasons why I think we should avoid them when if it does not provide additional test coverage - 1. It takes lot longer to run compared to real unit tests 2. They are harder to debug 3. There are high chances that benchmark (q.out) with wrong results get checked in, as they are generated with '-Doverwrite=true', and the contributor just eyeballs the results to verify the correctness. With real unit test, expected results come first (you write them first), before running the tests to verify. Also, I feel that one is likely to cover more corner cases in the test with real unit tests.
          Hide
          Edward Capriolo added a comment -

          Thejas M Nair Thank you for your comment, I am going to agree and disagree with your for my prospective on this issue.

          • I use hive_test to tests my udfs https://github.com/edwardcapriolo/hive_test
          • At one point we added a plugin developer kit to hive which allowed annotation based testing of UDFS
            At one point this was removed, there were reports that it was flakey and I was not paying much attention at that time, but I probably would have advocated that it not be removed.

          Now, I do agree with you that we can get better coverage of some things outside end-to-end tests, but believe it or not functions are not one of them.

          Why do I say this? A few reasons:

          • Most functions are not functional.
          • They actually have state, conf at initialization, reusable objects shared between calls to evaluate.
          • UDAFs have entire aggregation buffers systems.

          To your specific points
          1) Welcome to my life, I have been complaining about our test infrastructure for years. Honestly now that we have a build system we can test udf's fairly fast, and there is not a huge volume of them anyway.

          2) That can be true, again I use hive_test and I am not against having units + end-to-end tests
          3) I agree with this to an extent, but even in a real unit test one still has to write Assert.assertEquals( something, somethingElse ) so you still eyeball something. From a review standpoints it's easier to eyeball the .out then tens or hundreds of asserts.

          Again I am not against having more traditionally unit tests and writing code in functional style that is easier to document and and reason about, but I think to cover all the corner cases of exceptions and cleaning out private state properly the unit tests will be more ugly then the q tests.

          I am talking on hive-dev about the project split up. This is one of the things I want to do, move all the end-to-end test to a final project and really step up the unit style testing.

          There is lots of things we can do to make the tests faster

          • move all the UDFs into 1 big test save the overhead of launching multiple tests
          • optimize 'select udf(column) from table limit 1' <-- we should be able to make that test scream

          Anyway unlike the past where stuff like this sits on the queue forever we now have a build bot and I am dedicated to seeing patches reviewed and committed fast (especially those like these)

          BTW at minimum there is show_functions.q, so every time you add a function you at least have to touch that test.

          Show
          Edward Capriolo added a comment - Thejas M Nair Thank you for your comment, I am going to agree and disagree with your for my prospective on this issue. I use hive_test to tests my udfs https://github.com/edwardcapriolo/hive_test At one point we added a plugin developer kit to hive which allowed annotation based testing of UDFS At one point this was removed, there were reports that it was flakey and I was not paying much attention at that time, but I probably would have advocated that it not be removed. Now, I do agree with you that we can get better coverage of some things outside end-to-end tests, but believe it or not functions are not one of them. Why do I say this? A few reasons: Most functions are not functional. They actually have state, conf at initialization, reusable objects shared between calls to evaluate. UDAFs have entire aggregation buffers systems. To your specific points 1) Welcome to my life, I have been complaining about our test infrastructure for years. Honestly now that we have a build system we can test udf's fairly fast, and there is not a huge volume of them anyway. 2) That can be true, again I use hive_test and I am not against having units + end-to-end tests 3) I agree with this to an extent, but even in a real unit test one still has to write Assert.assertEquals( something, somethingElse ) so you still eyeball something. From a review standpoints it's easier to eyeball the .out then tens or hundreds of asserts. Again I am not against having more traditionally unit tests and writing code in functional style that is easier to document and and reason about, but I think to cover all the corner cases of exceptions and cleaning out private state properly the unit tests will be more ugly then the q tests. I am talking on hive-dev about the project split up. This is one of the things I want to do, move all the end-to-end test to a final project and really step up the unit style testing. There is lots of things we can do to make the tests faster move all the UDFs into 1 big test save the overhead of launching multiple tests optimize 'select udf(column) from table limit 1' <-- we should be able to make that test scream Anyway unlike the past where stuff like this sits on the queue forever we now have a build bot and I am dedicated to seeing patches reviewed and committed fast (especially those like these) BTW at minimum there is show_functions.q, so every time you add a function you at least have to touch that test.
          Hide
          Brock Noland added a comment -

          Just going through this chain. I really appreciate the unit tests as well! There is a good point about object reuse though. Is it reasonable to say that we strongly encourage unit testing but we'd like to see at least one end to end test?

          Show
          Brock Noland added a comment - Just going through this chain. I really appreciate the unit tests as well! There is a good point about object reuse though. Is it reasonable to say that we strongly encourage unit testing but we'd like to see at least one end to end test?
          Hide
          Ashutosh Chauhan added a comment -

          I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing.
          Obviously there are lot more bug fixes than features, so in most circumstances junit tests are encouraged, though in this particular instance there are new udfs (thus new features) so here end to end tests does make sense.

          Show
          Ashutosh Chauhan added a comment - I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing. Obviously there are lot more bug fixes than features, so in most circumstances junit tests are encouraged, though in this particular instance there are new udfs (thus new features) so here end to end tests does make sense.
          Hide
          Edward Capriolo added a comment -

          Is it reasonable to say that we strongly encourage unit testing but we'd like to see at least one end to end test?

          ^ that has always been the case.
          I am ok with moving to a simpler/faster/east to test style. But asserting on evaluate() really does not cover everything (because of the state). Neither does select udf from src limit 1 (bugs from multiple rows). I think we need to be simulating from the standpoint of an operator interacting with the UDF normally. It would not be full end-to-end but more then just cherry picking execution points and validating results.

          Show
          Edward Capriolo added a comment - Is it reasonable to say that we strongly encourage unit testing but we'd like to see at least one end to end test? ^ that has always been the case. I am ok with moving to a simpler/faster/east to test style. But asserting on evaluate() really does not cover everything (because of the state). Neither does select udf from src limit 1 (bugs from multiple rows). I think we need to be simulating from the standpoint of an operator interacting with the UDF normally. It would not be full end-to-end but more then just cherry picking execution points and validating results.
          Hide
          Edward Capriolo added a comment -

          I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing.
          Obviously there are lot more bug fixes than features, so in most circumstances junit tests are encouraged, though in this particular instance there are new udfs (thus new features) so here end to end tests does make sense.

          Well said. Hive is releasable trunk, so every commit for a new feature has to be usable. q tests show the usable.

          Moreover the q tests serve as the ONLY true documentation we have, since most things never hit the wiki.

          Show
          Edward Capriolo added a comment - I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing. Obviously there are lot more bug fixes than features, so in most circumstances junit tests are encouraged, though in this particular instance there are new udfs (thus new features) so here end to end tests does make sense. Well said. Hive is releasable trunk, so every commit for a new feature has to be usable. q tests show the usable. Moreover the q tests serve as the ONLY true documentation we have, since most things never hit the wiki.
          Hide
          Brock Noland added a comment -

          I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing.

          Hey guys, just to make sure I understand, unit tests are still strongly encouraged for new features as well as end-to-end tests?

          Show
          Brock Noland added a comment - I usually write end to end tests for new features (mostly for regression testing but also to demonstrate what functionality is getting introduced). For bug fixes I write junit tests to test the part which I am fixing. Hey guys, just to make sure I understand, unit tests are still strongly encouraged for new features as well as end-to-end tests?
          Hide
          Thejas M Nair added a comment -

          Hey guys, just to make sure I understand, unit tests are still strongly encouraged for new features as well as end-to-end tests?

          I would agree with that conclusion

          Show
          Thejas M Nair added a comment - Hey guys, just to make sure I understand, unit tests are still strongly encouraged for new features as well as end-to-end tests? I would agree with that conclusion
          Hide
          Mark Wagner added a comment -

          Here's the updated patch with q testing.

          Show
          Mark Wagner added a comment - Here's the updated patch with q testing.
          Hide
          Mark Wagner added a comment -

          Also, this patch relies on changes in HIVE-4970 to apply cleanly (and to fix the test case)

          Show
          Mark Wagner added a comment - Also, this patch relies on changes in HIVE-4970 to apply cleanly (and to fix the test case)
          Hide
          Ashutosh Chauhan added a comment -

          Hey Mark Wagner I have couple of minor comments. Can you create a RB or phabricator entry for the patch?

          Show
          Ashutosh Chauhan added a comment - Hey Mark Wagner I have couple of minor comments. Can you create a RB or phabricator entry for the patch?
          Hide
          Mark Wagner added a comment -
          Show
          Mark Wagner added a comment - I've posted it at https://reviews.apache.org/r/13244/
          Hide
          Mark Wagner added a comment -

          RB is down, but here's the updated watch with Ashutosh's suggestions.

          Show
          Mark Wagner added a comment - RB is down, but here's the updated watch with Ashutosh's suggestions.
          Hide
          Ashutosh Chauhan added a comment -

          +1

          Show
          Ashutosh Chauhan added a comment - +1
          Hide
          Hive QA added a comment -

          Overall: -1 at least one tests failed

          Here are the results of testing the latest attachment:
          https://issues.apache.org/jira/secure/attachment/12597005/HIVE-2482.3.patch

          ERROR: -1 due to 3 failed/errored test(s), 2779 tests executed
          Failed tests:

          org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_unhex
          org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_hex
          org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_sentences
          

          Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/356/testReport
          Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/356/console

          Messages:

          Executing org.apache.hive.ptest.execution.PrepPhase
          Executing org.apache.hive.ptest.execution.ExecutionPhase
          Executing org.apache.hive.ptest.execution.ReportingPhase
          Tests failed with: TestsFailedException: 3 tests failed
          

          This message is automatically generated.

          Show
          Hive QA added a comment - Overall : -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12597005/HIVE-2482.3.patch ERROR: -1 due to 3 failed/errored test(s), 2779 tests executed Failed tests: org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_unhex org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_hex org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_sentences Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/356/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/356/console Messages: Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests failed with: TestsFailedException: 3 tests failed This message is automatically generated.
          Hide
          Mark Wagner added a comment -

          Fixed test failures.

          Show
          Mark Wagner added a comment - Fixed test failures.
          Hide
          Edward Capriolo added a comment -

          I was going to say:
          This is an incompatible change because the return type of unhex has been changed from string to binary
          I think we should not do this ^ lets make another UDF, or overload the parameters of this one.

          Show
          Edward Capriolo added a comment - I was going to say: This is an incompatible change because the return type of unhex has been changed from string to binary I think we should not do this ^ lets make another UDF, or overload the parameters of this one.
          Hide
          Hive QA added a comment -

          Overall: +1 all checks pass

          Here are the results of testing the latest attachment:
          https://issues.apache.org/jira/secure/attachment/12597142/HIVE-2482.4.patch

          SUCCESS: +1 2780 tests passed

          Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/371/testReport
          Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/371/console

          Messages:

          Executing org.apache.hive.ptest.execution.PrepPhase
          Executing org.apache.hive.ptest.execution.ExecutionPhase
          Executing org.apache.hive.ptest.execution.ReportingPhase
          

          This message is automatically generated.

          Show
          Hive QA added a comment - Overall : +1 all checks pass Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12597142/HIVE-2482.4.patch SUCCESS: +1 2780 tests passed Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/371/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/371/console Messages: Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase This message is automatically generated.
          Hide
          Mark Wagner added a comment -

          I think we should not do this ^ lets make another UDF, or overload the parameters of this one.

          Is there any way to deprecate a UDF that will move people away from the current 'unhex'? The only difference from the updated version is that the current one wraps the output in Text, so that it could be used by Hive before the binary support. Now that there is binary support it doesn't make any sense for unhex to wrap its output.

          Show
          Mark Wagner added a comment - I think we should not do this ^ lets make another UDF, or overload the parameters of this one. Is there any way to deprecate a UDF that will move people away from the current 'unhex'? The only difference from the updated version is that the current one wraps the output in Text, so that it could be used by Hive before the binary support. Now that there is binary support it doesn't make any sense for unhex to wrap its output.
          Hide
          Ashutosh Chauhan added a comment -

          I agree with Mark Wagner analysis.

          Show
          Ashutosh Chauhan added a comment - I agree with Mark Wagner analysis.
          Hide
          Edward Capriolo added a comment - - edited

          I am ok with it as well, but remember everything you change breaks someones workflow.

          Show
          Edward Capriolo added a comment - - edited I am ok with it as well, but remember everything you change breaks someones workflow.
          Hide
          Ashutosh Chauhan added a comment -

          Committed to trunk. Thanks, Mark!

          Show
          Ashutosh Chauhan added a comment - Committed to trunk. Thanks, Mark!
          Hide
          Hudson added a comment -

          FAILURE: Integrated in Hive-trunk-hadoop2-ptest #56 (See https://builds.apache.org/job/Hive-trunk-hadoop2-ptest/56/)
          HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474)

          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java
          • /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
          • /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q
          • /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Show
          Hudson added a comment - FAILURE: Integrated in Hive-trunk-hadoop2-ptest #56 (See https://builds.apache.org/job/Hive-trunk-hadoop2-ptest/56/ ) HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474 ) /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Hide
          Hudson added a comment -

          FAILURE: Integrated in Hive-trunk-hadoop2 #357 (See https://builds.apache.org/job/Hive-trunk-hadoop2/357/)
          HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474)

          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java
          • /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
          • /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q
          • /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Show
          Hudson added a comment - FAILURE: Integrated in Hive-trunk-hadoop2 #357 (See https://builds.apache.org/job/Hive-trunk-hadoop2/357/ ) HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474 ) /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Hide
          Hudson added a comment -

          FAILURE: Integrated in Hive-trunk-hadoop1-ptest #126 (See https://builds.apache.org/job/Hive-trunk-hadoop1-ptest/126/)
          HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474)

          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java
          • /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
          • /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q
          • /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Show
          Hudson added a comment - FAILURE: Integrated in Hive-trunk-hadoop1-ptest #126 (See https://builds.apache.org/job/Hive-trunk-hadoop1-ptest/126/ ) HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474 ) /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in Hive-trunk-h0.21 #2266 (See https://builds.apache.org/job/Hive-trunk-h0.21/2266/)
          HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474)

          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java
          • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java
          • /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java
          • /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
          • /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q
          • /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out
          • /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Show
          Hudson added a comment - SUCCESS: Integrated in Hive-trunk-h0.21 #2266 (See https://builds.apache.org/job/Hive-trunk-h0.21/2266/ ) HIVE-2482 : Convenience UDFs for binary data type (Mark Wagner via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1513474 ) /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFDecode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/GenericUDFEncode.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFDecode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFEncode.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFBase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFHex.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnbase64.java /hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFUnhex.java /hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q /hive/trunk/ql/src/test/queries/clientpositive/udf_sentences.q /hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_hex.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_sentences.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_unhex.q.out
          Hide
          Ashutosh Chauhan added a comment -

          This issue has been fixed and released as part of 0.12 release. If you find further issues, please create a new jira and link it to this one.

          Show
          Ashutosh Chauhan added a comment - This issue has been fixed and released as part of 0.12 release. If you find further issues, please create a new jira and link it to this one.

            People

            • Assignee:
              Mark Wagner
              Reporter:
              Ashutosh Chauhan
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development