Github user jvwing commented on the pull request:

    https://github.com/apache/nifi/pull/224#issuecomment-192777256
  
    @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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to