My apologies. In fact the 'aggregate' step includes this: 'TimeWindows.of(20
* 60 * 1000L).advanceBy(60 * 1000L)'

On Tue, Nov 29, 2016 at 9:12 PM, Guozhang Wang <wangg...@gmail.com> wrote:

> Where does the "20 minutes" come from? I thought the "aggregate" operator
> in your
>
> stream->aggregate->filter->foreach
>
> topology is not a windowed aggregation, so the aggregate results will keep
> accumulating.
>
>
> Guozhang
>
>
> On Tue, Nov 29, 2016 at 8:40 PM, Jon Yeargers <jon.yearg...@cedexis.com>
> wrote:
>
> > "keep increasing" - why? It seems (to me) that the aggregates should be
> 20
> > minutes long. After that the memory should be released.
> >
> > Not true?
> >
> > On Tue, Nov 29, 2016 at 3:53 PM, Guozhang Wang <wangg...@gmail.com>
> wrote:
> >
> > > Jon,
> > >
> > > Note that in your "aggregate" function, if it is now windowed aggregate
> > > then the aggregation results will keep increasing in your local state
> > > stores unless you're pretty sure that the aggregate key space is
> bounded.
> > > This is not only related to disk space but also memory since the
> current
> > > default persistent state store, RocksDB, takes its own block cache both
> > on
> > > heap and out of heap.
> > >
> > > In addition, RocksDB has a write / space amplification. That is, if
> your
> > > estimate size of the aggregated state store takes 1GB, it will actually
> > > take 1 * max-amplification-factor in worst case, and similarly for
> block
> > > cache and write buffer.
> > >
> > >
> > > Guozhang
> > >
> > > On Tue, Nov 29, 2016 at 12:25 PM, Jon Yeargers <
> jon.yearg...@cedexis.com
> > >
> > > wrote:
> > >
> > > > App eventually got OOM-killed. Consumed 53G of swap space.
> > > >
> > > > Does it require a different GC? Some extra settings for the java cmd
> > > line?
> > > >
> > > > On Tue, Nov 29, 2016 at 12:05 PM, Jon Yeargers <
> > jon.yearg...@cedexis.com
> > > >
> > > > wrote:
> > > >
> > > > >  I cloned/built 10.2.0-SNAPSHOT
> > > > >
> > > > > App hasn't been OOM-killed yet but it's up to 66% mem.
> > > > >
> > > > > App takes > 10 min to start now. Needless to say this is
> problematic.
> > > > >
> > > > > The 'kafka-streams' scratch space has consumed 37G and still
> > climbing.
> > > > >
> > > > >
> > > > > On Tue, Nov 29, 2016 at 10:48 AM, Jon Yeargers <
> > > jon.yearg...@cedexis.com
> > > > >
> > > > > wrote:
> > > > >
> > > > >> Does every broker need to be updated or just my client app(s)?
> > > > >>
> > > > >> On Tue, Nov 29, 2016 at 10:46 AM, Matthias J. Sax <
> > > > matth...@confluent.io>
> > > > >> wrote:
> > > > >>
> > > > >>> What version do you use?
> > > > >>>
> > > > >>> There is a memory leak in the latest version 0.10.1.0. The bug
> got
> > > > >>> already fixed in trunk and 0.10.1 branch.
> > > > >>>
> > > > >>> There is already a discussion about a 0.10.1.1 bug fix release.
> For
> > > > now,
> > > > >>> you could build the Kafka Streams from the sources by yourself.
> > > > >>>
> > > > >>> -Matthias
> > > > >>>
> > > > >>>
> > > > >>> On 11/29/16 10:30 AM, Jon Yeargers wrote:
> > > > >>> > My KStreams app seems to be having some memory issues.
> > > > >>> >
> > > > >>> > 1. I start it `java -Xmx8G -jar <app>.jar`
> > > > >>> >
> > > > >>> > 2. Wait 5-10 minutes - see lots of 'org.apache.zookeeper.
> > > ClientCnxn
> > > > -
> > > > >>> Got
> > > > >>> > ping response for sessionid: 0xc58abee3e000013 after 0ms'
> > messages
> > > > >>> >
> > > > >>> > 3. When it _finally_ starts reading values it typically goes
> for
> > a
> > > > >>> minute
> > > > >>> > or so, reads a few thousand values and then the OS kills it
> with
> > > 'Out
> > > > >>> of
> > > > >>> > memory' error.
> > > > >>> >
> > > > >>> > The topology is (essentially):
> > > > >>> >
> > > > >>> > stream->aggregate->filter->foreach
> > > > >>> >
> > > > >>> > It's reading values and creating a rolling average.
> > > > >>> >
> > > > >>> > During phase 2 (above) I see lots of IO wait and the 'scratch'
> > > buffer
> > > > >>> > (usually "/tmp/kafka-streams/appname") fills with 10s of Gb of
> > .. ?
> > > > (I
> > > > >>> had
> > > > >>> > to create a special scratch partition with 100Gb of space as
> > kafka
> > > > >>> would
> > > > >>> > fill the / partition and make the system v v unhappy)
> > > > >>> >
> > > > >>> > Have I misconfigured something?
> > > > >>> >
> > > > >>>
> > > > >>>
> > > > >>
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > -- Guozhang
> > >
> >
>
>
>
> --
> -- Guozhang
>

Reply via email to