Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/1320
  
    @bbende @randerzander 
    
    Thanks for proposing this feature, it'll be useful!
    
    Started reviewing this, and noticed few things.
    
    1. Difference between RAW and HTTP protocol for receiving data.
    
        RAW resolves hostname from socket, while HTTP does so from HTTP 
request. Due to this difference, RAW uses hostname as `s2s.host` attribute like 
`localhost`, while HTTP set `127.0.0.1`. I think this may be difficult when 
users define routing rules in downstream flow. I wonder if it can produce the 
same value, hostname or ip address for both transport protocol.
    
    2. Unknown hostname and port due to illegal URL
    
        As discussed in the [previous 
PR](https://github.com/apache/nifi/pull/1307#issuecomment-266442657),  I got 
'unknown' hostname and port with Docker containers. While this can be handled 
as a corner case since it's not allowed by the URL specification, I think it'd 
be better if we can be lenient here to support Docker environment. I confirmed 
provenance event also failed to resolve hostname and produced provenance 
details with `null` hostname.
    
        I think this can be improved by changing Peer's constructor. It parses 
peerUrl then use its hostname and port, but the same information should be 
retrieved from PeerDescriptor without parsing the URL. Currently, 
SocketRemoteSiteListener uses server's hostname and port for PeerDescription, 
but it seems it's not correct, those should be client's.
    
    Please let me dig deeper comments above. Will update soon.


---
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