Flume
  1. Flume
  2. FLUME-1003

The memory channel does not seem to respect the capacity

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: v1.1.0
    • Fix Version/s: None
    • Component/s: Channel
    • Labels:
      None
    • Environment:

      RHEL 6.2 64-bit

      Description

      Use the following config (no sink configured)

      a1.sources = r1
      a1.channels = c1

      a1.sources.r1.type = SEQ
      a1.sources.r1.channels = c1
      a1.channels.c1.type = MEMORY

      If I run with this config, then the source and channel instance is created. If you add a print statement to ChannelProcessor.processEvent(), you'll see that the source is sending events to the channel. The source generates about 104 events, and then generates an additional one about every second... which is interesting, since the mem channel's default capacity is only 100 and there's no sink.

        Activity

        Hide
        Juhani Connolly added a comment -

        Everything working as intended

        Show
        Juhani Connolly added a comment - Everything working as intended
        Hide
        Juhani Connolly added a comment -

        Upon shutdown, the counters seem to show that everything is as it should be

        2012-02-28 09:47:47,950 (node-shutdownHook) [INFO - org.apache.flume.source.SequenceGeneratorSource.stop(SequenceGeneratorSource.java:73)] Sequence generator source stopped. Metrics:{ name:null counters:

        {events.failed=23, events.successful=100}

        }

        Note that 100 succesful, the rest have all failed. Seq source does nothing in the case of a channel exception other than to log it

        Show
        Juhani Connolly added a comment - Upon shutdown, the counters seem to show that everything is as it should be 2012-02-28 09:47:47,950 (node-shutdownHook) [INFO - org.apache.flume.source.SequenceGeneratorSource.stop(SequenceGeneratorSource.java:73)] Sequence generator source stopped. Metrics:{ name:null counters: {events.failed=23, events.successful=100} } Note that 100 succesful, the rest have all failed. Seq source does nothing in the case of a channel exception other than to log it
        Hide
        Juhani Connolly added a comment -

        I'll look into this and fix it if there's a bug, though I suspect that the memchannel is just refusing the puts beyond its limit

        Show
        Juhani Connolly added a comment - I'll look into this and fix it if there's a bug, though I suspect that the memchannel is just refusing the puts beyond its limit

          People

          • Assignee:
            Juhani Connolly
            Reporter:
            Will McQueen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development