Github user srdo commented on a diff in the pull request: https://github.com/apache/storm/pull/2367#discussion_r144069466 --- Diff: external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/internal/OffsetManager.java --- @@ -53,8 +54,8 @@ public OffsetManager(TopicPartition tp, long initialFetchOffset) { this.tp = tp; this.initialFetchOffset = initialFetchOffset; - this.committedOffset = initialFetchOffset - 1; - LOG.debug("Instantiated {}", this); + this.committedOffset = initialFetchOffset; + LOG.debug("Instantiated {}", this.toString()); --- End diff -- The warning I get is just "leaking this in constructor", Netbeans has the following description: "Using this as parameter can be dangerous in the contructor because the object is not fully initialized.". IntelliJ and Eclipse have similar warnings I believe. It's basically saying not to use `this` as a parameter from the constructor, because the called method may use fields that aren't initialized. I agree that leaking `this` from the constructor is not dangerous here, because sfl4j just calls toString, but I'd still like to get rid of the warning. The reason this is flagged is because `this` is used as a parameter to LOG.debug, and not as part of a string concatenation. The IDE can't tell whether `this` is used unsafely in LOG.debug, so it's flagged as a warning.
---