nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jvwing <>
Subject [GitHub] nifi pull request: Nifi 1516 - AWS DynamoDB Get/Put/Delete Process...
Date Sun, 06 Mar 2016 01:27:26 GMT
Github user jvwing commented on the pull request:
    @mans2singh - Sorry I'm slow getting back to you.  I have a few comments about the most
recent changes:
    ##### Tests
    * The unit tests are much improved.  Your mock implementation is better than my suggested
approach, and there has been a big improvement in code coverage as a result.
    * I think we could use one or two mocked tests for GetDynamoDB.
    * Test coverage for unprocessed items is low, given that your design targets the batch
get/put/delete APIs and unprocessed items will be expected.  Earlier today, I thought that
would be easily fixed.  It turns out I don't have solid knowledge of what unprocessed responses
will really look like in practice, and the AWS SDK is more confusing than helpful.
    ##### AbstractWriteDynamoDBProcessor 
    AbstractWriteDynamoDBProcessor has two methods - handleUnprocessedPutItems and handleUnprocessedDeleteItems
- and two subclasses, PutDynamoDB and DeleteDynamoDB.  I know that isn't how things started
a couple weeks ago, it used to be shared code, but isn't this a sign that we don't need an
AbstractWriteDynamoDBProcessor?  Can we just move those methods to their respective processors,
or do you anticipate sharing them with additional writing processors?
    ##### Relationships
    What types of relationships have you considered besides "success" and "failure"?   A malformed
input "failure" requires correction before retrying, but unprocessed item failures might simply
be retried.  Also, GetDynamoDB might have a separate relationship for "not found" as opposed
to "failure".  On the good side, your inclusion of complete response codes in the output attributes
makes it possible to filter out the various failure modes.  Additional relationships could
be added as features later.
    I am still working on setting up some tests for unprocessed items.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

View raw message