Kouhei Sutou
kou****@clear*****
Wed Apr 22 10:16:14 JST 2015
> + fowarded = forward(buffered_message_path) || fowarded この書き方、ちょっとトリッキーだなと思いました。 「1つでも成功したら成功」というコードだと思うので、 if forward(buffered_message_path) fowarded = true end の方がやりたいことが明確なコードじゃないかと思いました。 それはそれとして、fowardedはtypoっぽいです。 fo warded forwarded + In <8df8014dd311c826b78cbfabe30d2e1609cc35a2 �� jenkins.clear-code.com> "[Groonga-commit] droonga/droonga-engine �� 8df8014 [master] Don't forward messages older than the timestamp given as "process_messages_newer_than"" on Tue, 21 Apr 2015 19:16:13 +0900, YUKI Hiroshi <null+groonga �� clear-code.com> wrote: > YUKI Hiroshi 2015-04-21 19:16:13 +0900 (Tue, 21 Apr 2015) > > New Revision: 8df8014dd311c826b78cbfabe30d2e1609cc35a2 > https://github.com/droonga/droonga-engine/commit/8df8014dd311c826b78cbfabe30d2e1609cc35a2 > > Message: > Don't forward messages older than the timestamp given as "process_messages_newer_than" > > Modified files: > lib/droonga/forward_buffer.rb > > Modified: lib/droonga/forward_buffer.rb (+14 -3) > =================================================================== > --- lib/droonga/forward_buffer.rb 2015-04-21 18:32:20 +0900 (60e2e75) > +++ lib/droonga/forward_buffer.rb 2015-04-21 19:16:13 +0900 (3e5c0bf) > @@ -64,8 +64,13 @@ module Droonga > > def start_forward > logger.trace("start_forward: start") > + fowarded = false > Pathname.glob("#{@data_directory}/*#{SUFFIX}").collect do |buffered_message_path| > - forward(buffered_message_path) > + fowarded = forward(buffered_message_path) || fowarded > + end > + if @process_messages_newer_than_timestamp and fowarded > + logger.info("New message is detected and forwarded. The boundary is now cleared.") > + @process_messages_newer_than_timestamp = nil > end > @serf.reset_have_unprocessed_messages_for(@target) > logger.trace("start_forward: done") > @@ -90,6 +95,8 @@ module Droonga > message = buffered_message["message"] > destination = buffered_message["destination"] > > + forwarded = false > + > if @process_messages_newer_than_timestamp > message_timestamp = Time.parse(message["date"]) > logger.trace("Checking boundary of obsolete message", > @@ -98,8 +105,9 @@ module Droonga > if @process_messages_newer_than_timestamp >= message_timestamp > buffered_message = nil > else > - logger.info("New message is detected. The boundary is now cleared.") > - @process_messages_newer_than_timestamp = nil > + logger.info("New message is detected.") > + # Don't clear the boundary for now, because older messages > + # forwarded by the dispatcher can be still buffered. > end > end > > @@ -109,10 +117,13 @@ module Droonga > :destination => destination) > message["xSender"] = "forward-buffer" > on_forward(message, destination) > + forwarded = true > end > > FileUtils.rm_f(buffered_message_path.to_s) > logger.trace("forward: done (#{buffered_message_path})") > + > + forwarded > end > > def file_path(time_stamp=Time.now)