You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/11/30 22:27:00 UTC
[jira] [Commented] (NIFI-5854) Enhance time unit features
[ https://issues.apache.org/jira/browse/NIFI-5854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16705358#comment-16705358 ]
ASF GitHub Bot commented on NIFI-5854:
--------------------------------------
GitHub user alopresto opened a pull request:
https://github.com/apache/nifi/pull/3193
NIFI-5854 Added TimeUnit enhancements (microseconds, decimal parsing)
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
- [x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
- [x] Has your PR been rebased against the latest commit within the target branch (typically master)?
- [ ] Is your initial contribution a single, squashed commit?
### For code changes:
- [x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
- [x] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?
### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in which it is rendered?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/alopresto/nifi NIFI-5854
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/3193.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3193
----
commit 1d4ecd3e4c078e67a6a04c1ffda48d635cf66fb7
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T04:17:58Z
NIFI-5854 Added skeleton logic to convert decimal time units.
Added helper methods.
Added unit tests.
commit 50b7b6436454b3b0d7e36fd1f2139dd1f10b9067
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T04:25:04Z
NIFI-5854 [WIP] Cleaned up logic.
Resolved failing unit tests due to error message change.
commit fc16cf37439e1bee5afe58adbfe61c31bc77df3f
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T04:48:21Z
NIFI-5854 [WIP] All helper method unit tests pass.
commit a0865667f03ad9e1a0ad46277045fa364720cd98
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T05:15:27Z
NIFI-5854 [WIP] FormatUtils#getPreciseTimeDuration() now handles all tested inputs correctly.
Added unit tests.
commit d2031d5a06713b69f1323215afe87efc8d93428f
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T19:39:34Z
NIFI-5854 [WIP] FormatUtils#getTimeDuration() still using long.
Added unit tests.
Renamed existing unit tests to reflect method under test.
commit ed51f48a3bee3750864b1415b5e85b42422ecaaf
Author: Andy LoPresto <al...@...>
Date: 2018-11-30T20:13:57Z
NIFI-5854 FormatUtils#getTimeDuration() returns long but now accepts decimal inputs.
Added @Deprecation warnings (will update callers where possible).
All unit tests pass.
----
> Enhance time unit features
> --------------------------
>
> Key: NIFI-5854
> URL: https://issues.apache.org/jira/browse/NIFI-5854
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Affects Versions: 1.8.0
> Reporter: Andy LoPresto
> Assignee: Andy LoPresto
> Priority: Major
> Labels: parsing, time, units
>
> There is some ambiguity with time units (specifically around processor properties). Two features which I think should be added:
> * Currently only whole numbers are parsed correctly. For example, {{10 milliseconds}} and {{0.010 seconds}} are functionally equivalent, but only the former will be parsed. This is due to the regex used in {{StandardValidators.TIME_PERIOD_VALIDATOR}} which relies on {{FormatUtils.TIME_DURATION_REGEX}} (see below). Decimal amounts should be parsed
> * The enumerated time units are *nanoseconds, milliseconds, seconds, minutes, hours, days, weeks*. While I don't intend to extend this to "millennia", etc. as every unit including and above *months* would be ambiguous, *microseconds* seems like a valid and missing unit
> *Definition of {{FormatUtils.TIME_DURATION_REGEX}}:*
> {code}
> public static final String TIME_DURATION_REGEX = "(\\d+)\\s*(" + VALID_TIME_UNITS + ")";
> public static final Pattern TIME_DURATION_PATTERN = Pattern.compile(TIME_DURATION_REGEX);
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)