[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 7: Code-Review+2 Carry +2 -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 7: Build started: http://jenkins.impala.io:8080/job/gerrit-verify-dryrun/77/ -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Dan Hecht has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 6: Code-Review+2 No, not necessary as mentioned early. Sorry, thought Marcel had +2 this one. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 6: Any more comments? I don't think there were any more to address here, unless we want to move code into timestamp-functions-ir as part of this patch. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 6: It doesn't seem to cause any actual problems, so maybe I'll hold off on it. That will make it easier for people to cherry-pick this fix if they want to. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/5251/4/testdata/workloads/functional-query/queries/QueryTest/exprs.test File testdata/workloads/functional-query/queries/QueryTest/exprs.test: Line 2596: > I'm going to add some e2e tests for date_add/date_sub too Done -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Hello Marcel Kornacker, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/5251 to look at the new patch set (#6). Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp The bugs was that the functions did not check whether the conversion pushed the value out of range. The fix is to use boost's validation immediately to check the validity of the timestamp and catch any exceptions thrown. It would be preferable to avoid the exceptions, but Boost does not provide a straightforward way to disable the exceptions or extract potentially-invalid values from a date object. Testing: Added expression tests that exercise out-of-range cases. Also added additional tests to confirm that date addition and subtraction weren't affected by similar bugs. Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 --- M be/src/exprs/expr-test.cc M be/src/exprs/timestamp-functions.cc M testdata/workloads/functional-query/queries/QueryTest/exprs.test 3 files changed, 147 insertions(+), 19 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/51/5251/6 -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: (2 comments) Dan: so there's actually a special case in exprs/scalar-fn-call.cc that disables codegen for functions with "AddSub" in the name. This is a bit of a hack and could be cleaned up in various way. I also experimented with disabling that hack and it looks like exception handling in IR actually works to some extent, so maybe it's worth reevaluating later. I wonder if we should just move some of those functions to timestamp-functions.cc, since I don't think we're using the IR. http://gerrit.cloudera.org:8080/#/c/5251/4/be/src/exprs/expr-test.cc File be/src/exprs/expr-test.cc: Line 3616: "as timestamp), interval 13 months) as string)", > odd indentation. I don't think it's configurable - it wants to line up the multi-line strings and there's no option I could find to disable that. Manually reverted it. http://gerrit.cloudera.org:8080/#/c/5251/4/be/src/exprs/timestamp-functions.cc File be/src/exprs/timestamp-functions.cc: Line 54: void ThrowExceptionIfTimestampOutOfRange(const boost::gregorian::date& date) { > remove Exception, it's implied in Throw. Done -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Dan Hecht has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: > > What about the try/catch block in timestamp-functions-ir.cc. > > Shouldn't that code be moved into the native code so that it > > actually works? > > > > Also, maybe we should add try/catch in TimestampValue::DebugString() > > to be safe? > > The question is where to stop. We should really audit all of our > boost calls for uncaught exceptions. Sure, but these ones are already known to be problematic. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: > What about the try/catch block in timestamp-functions-ir.cc. > Shouldn't that code be moved into the native code so that it > actually works? > > Also, maybe we should add try/catch in TimestampValue::DebugString() > to be safe? The question is where to stop. We should really audit all of our boost calls for uncaught exceptions. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Dan Hecht has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: What about the try/catch block in timestamp-functions-ir.cc. Shouldn't that code be moved into the native code so that it actually works? Also, maybe we should add try/catch in TimestampValue::DebugString() to be safe? -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 4: Code-Review+2 (2 comments) http://gerrit.cloudera.org:8080/#/c/5251/4/be/src/exprs/expr-test.cc File be/src/exprs/expr-test.cc: Line 3616: "as timestamp), interval 13 months) as string)", odd indentation. could you try to fix the formatting rules? http://gerrit.cloudera.org:8080/#/c/5251/4/be/src/exprs/timestamp-functions.cc File be/src/exprs/timestamp-functions.cc: Line 54: void ThrowExceptionIfTimestampOutOfRange(const boost::gregorian::date& date) { > We need to catch exceptions anyway in the caller anyway, since other boost remove Exception, it's implied in Throw. remove Timestamp, you're not checking a timestamp. -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. Patch Set 3: Rebased -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Taras Bobrovytsky Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4498: crash in to utc timestamp/from utc timestamp
Tim Armstrong has uploaded a new patch set (#2). Change subject: IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp .. IMPALA-4498: crash in to_utc_timestamp/from_utc_timestamp The bugs was that the functions did not check whether the conversion pushed the value out of range. The fix is to use boost's validation immediately to check the validity of the timestamp and catch any exceptions thrown. It would be preferable to avoid the exceptions, but Boost does not provide a straightforward way to disable the exceptions or extract potentially-invalid values from a date object. Testing: Added expression tests that exercise out-of-range cases. Also added additional tests to confirm that date addition and subtraction weren't affected by similar bugs. Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 --- M be/src/exprs/expr-test.cc M be/src/exprs/timestamp-functions.cc M be/src/runtime/timestamp-value.h M testdata/workloads/functional-query/queries/QueryTest/exprs.test 4 files changed, 139 insertions(+), 22 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/51/5251/2 -- To view, visit http://gerrit.cloudera.org:8080/5251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idc427b06ac33ec874a05cb98d01c00e970d3dde6 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong