{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/111","repository_url":"https://api.github.com/repos/spring-projects/spring-kafka","labels_url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/111/comments","events_url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/111/events","html_url":"https://github.com/spring-projects/spring-kafka/pull/111","id":158244281,"number":111,"title":"GH-89: Add support for `seek` from the beginning","user":{"login":"artembilan","id":1071590,"avatar_url":"https://avatars.githubusercontent.com/u/1071590?v=3","gravatar_id":"","url":"https://api.github.com/users/artembilan","html_url":"https://github.com/artembilan","followers_url":"https://api.github.com/users/artembilan/followers","following_url":"https://api.github.com/users/artembilan/following{/other_user}","gists_url":"https://api.github.com/users/artembilan/gists{/gist_id}","starred_url":"https://api.github.com/users/artembilan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artembilan/subscriptions","organizations_url":"https://api.github.com/users/artembilan/orgs","repos_url":"https://api.github.com/users/artembilan/repos","events_url":"https://api.github.com/users/artembilan/events{/privacy}","received_events_url":"https://api.github.com/users/artembilan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-06-02T21:30:08Z","updated_at":"2016-06-03T13:24:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-kafka/pulls/111","html_url":"https://github.com/spring-projects/spring-kafka/pull/111","diff_url":"https://github.com/spring-projects/spring-kafka/pull/111.diff","patch_url":"https://github.com/spring-projects/spring-kafka/pull/111.patch"},"body":"Fixes GH-89 (https://github.com/spring-projects/spring-kafka/issues/89)\r\n\r\n* Introduce `TopicPartitionInitialOffset`, where it utilize `TopicPartition` and `Long initialOffset`\r\n* The `initialOffset` can be:\r\n  - `null` - do nothing; rely on the `auto.offset.reset` of `Consumer` config;\r\n  - positive (including `0`) - absolute offset from the begging of partition;\r\n  - negative - the offset from the end of partition: `consumer.seekToEnd() - initialOffset`\r\n* Rework everything around to rely on a new `TopicPartitionInitialOffset` abstraction\r\n* The logic in the `KafkaMessageListenerContainer.ListenerConsumer.initPartitionsIfNeeded()` reworked to in favor of a new abstraction\r\n* remove redundant `recentOffset`\r\n* Reflect new `TopicPartitionInitialOffset` in the docs"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/comments/223577521","html_url":"https://github.com/spring-projects/spring-kafka/pull/111#issuecomment-223577521","issue_url":"https://api.github.com/repos/spring-projects/spring-kafka/issues/111","id":223577521,"user":{"login":"garyrussell","id":483832,"avatar_url":"https://avatars.githubusercontent.com/u/483832?v=3","gravatar_id":"","url":"https://api.github.com/users/garyrussell","html_url":"https://github.com/garyrussell","followers_url":"https://api.github.com/users/garyrussell/followers","following_url":"https://api.github.com/users/garyrussell/following{/other_user}","gists_url":"https://api.github.com/users/garyrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/garyrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garyrussell/subscriptions","organizations_url":"https://api.github.com/users/garyrussell/orgs","repos_url":"https://api.github.com/users/garyrussell/repos","events_url":"https://api.github.com/users/garyrussell/events{/privacy}","received_events_url":"https://api.github.com/users/garyrussell/received_events","type":"User","site_admin":false},"created_at":"2016-06-03T13:24:22Z","updated_at":"2016-06-03T13:24:22Z","body":"I see what you mean; we'd have to add more SpEL infrastructure - let's defer that for now; after all they can do something like\r\n\r\n    topic = \"#{@foo.topics[0]}, partition = \"#{@foo.parts[0]}, offset = \"#{@foo.offs[0]}\"\r\n\r\ninstead."}}
{"actor":{"display_login":"garyrussell"}}