►
From YouTube: CNCF Serverless WG 2020-03-12
Description
CNCF Serverless WG 2020-03-12
A
B
B
B
I
have
failed
to
upload
the
documents,
even
though
I
I've
been
editing
like
while,
but
I
just
missed
the
deadline.
It's
just
okay,
oh
yeah,
I'm
gonna,
so
I'm
already
I'm
mark
down
with
that
subscription
document.
So
I'm
gonna
go
and
I'm
gonna
upload
this
in,
like
probably
not
today,
but
tomorrow
morning
sounds.
A
B
A
B
C
A
A
B
Yeah
I
went
I,
went
to
a
football
game
on
Sunday
that
that,
just
that
so
happened
and
and
yesterday
we
had
our
big
local
derby
against
Cologne,
and
that
was
without
spectators,
which
was
weird.
So
we
all
watched
but
like
I,
have
my
stadium,
friends
and
watch
on
TV,
but
with
them
here
and
now.
The
discussion
is
whether
they're
going
to
go
and
cancel
the
entire
league
we
already
did
and
Damon,
and
that
is
like
Italy
in
Spain
without
football
is
I
mean
that's,
that's
a
real
state
of
emergency
for.
C
B
A
D
A
Yeah
they're
extending
my
sons,
spring
break
vacation
from
college
and
they're
gonna
start
doing
classes
online,
which
means
he's
at
home
now,
which
isn't
you
know
a
bad
thing
unto
itself
other
than
he
keeps
two
really
really
weird
hours
and
he's
a
boy.
So
he
eats
a
lot
so
he's
at
like
he's
up
at
like
3
or
4
in
the
morning
in
the
kitchen
cooking
stuff,
and
it's
and
he's
a
boy
so
he's
loud.
So
he
getting
very
little
sleep
these
days
and
it's
very
annoying.
C
Related
to
the
previous
topic,
I
think
Doug
will
like
this.
You
know
a
company's
been
doing
off
sites,
but
because
of
budgeting
regions
off
sites
have
now
usually
been
on
site,
but
they're
still
called
off
site
because
it's
like
you
should
maybe
you
travel
to
a
different
office
and
then
those
got
cancelled
and
they're
going
to
be
virtual.
So
now
they
are
virtual
off
sites
where
it
was
going
to
be
an
on
site,
but
now
it's
virtual,
but
it's
still
called
an
off
site
virtual
off
site.
It's
just
amazing
and.
D
A
A
G
A
A
All
right,
it's
three
after
see,
if
I
miss
anybody,
then
we
get
started.
Hey
everybody!
Okay!
Let's
go
in
and
jump
into
it,
okay,
community
time,
anything
from
the
community.
People
want
to
bring
up
this
not
on
the
agenda.
A
No
I'm
not
hearing
any
STK,
Scott's
or
Clemens,
or
anybody
else
who
made
the
call
last
week
was
there
anything
worth
bringing
up.
C
B
A
A
F
E
A
A
B
So
one
of
the
key
things
we
did
in
terms
of
clarifications
is
since
pull
and
push
were
contested,
and
you
know
with
some
and
I
and
I
buying
some
of
the
arguments.
I'm,
trying
I'm
trying
to
sting
wish
between
effectively
who's
initiating
the
communication,
whether
the
delivery
and
and
really
and
like
what
is
the
delivery
model,
so
you'll
see
a
Turing
subscriptions
with
customer.
Let's
start
with
consumer
solicited
delivery
and
subscriptions
with
subscription
manager
initiated
delivery.
B
Those
are
effective,
the
difference
between
pull
and
push
to
clarify,
where
that
mean
there
and
and
otherwise
work.
This
thing
will
go
as
far
as
to
define
effective
what
the
API
a
looks
like
subscription
manager.
Api
looks
like
in
the
abstract,
but
will
not
yet
have
the
be
down
to
the
HTTP
level
definitions
likely,
but
it
will
contain
what
we
discussed
in
previous
calls
like
the
filter,
the
simple
filters
effects,
etc.
E
A
A
Ok,
so
just
set
of
curiosity
and
the
question:
isn't
that's
just
for
you
Mike,
it's
actually
for
anybody,
but
it
just
using
your
PRS
as
I
sort
of
a
guinea
pig
here
at
what
point
do
you
guys
feel
like?
We
should
just
merge
this
PR?
Obviously,
once
all
the
comments
are
addressed,
but
is
there
any
like
minimum
bar?
You
guys
have
in
mind
it's.
We
can
actually
merge
the
PR,
or
is
it
pretty
much
all
the
initial
comments
or
address?
A
They
can
just
merge
it
at
that
point
which
is
2p
ours
against
it,
because
it's
like
I
need
a
doc
in
the
repo.
You
guys
have
any
opinion
on
that.
Just
from
a
process
perspective
I,
just
wanna,
make
sure
we're
not
missing
some
step
here.
That
people
think
we
needed
to
go
through
before
we
actually
merge
it.
B
A
No
I
definitely
I
think
I
tend
to
agree.
The
only
reason
I
ask
the
question
is
sometimes
it's
easier
to
work
outside
the
PR
process.
If
you
have
large-scale
changes
you
want
to
make,
which
is
why
we
started.
You
know
the
Google
Talk
to
begin
with
and
stuff
like
that,
I
just
don't
want
to
preemptively
merge
this
thing.
If
somebody
thought
from
a
process
perspective,
we
should
hold
off
a
little,
but
am
I
turning
away
to
really
jump
up
and
objecting
yeah.
B
The
original
groups
are
saying
this
is
this
is
ready,
then
I'm
trying
to
get
for
our
group
is
that
everybody
wants
to
the.
This
is
what
this
is
our
result
and
then
we're
gonna
go.
So
the
document
I'm
gonna
give
give
you
all
on
tomorrow.
Is
it's
not
that
yet
I'm
still
gonna
go
and
collect
feedback
from
the
group.
B
A
E
B
B
A
A
Okay,
easy
enough
and
thank
you
Mike
for
the
SDK
moving
forward.
Okay,
here
we
go
so
I
came
here
for
sure
other
than
I'm,
pretty
sure
Clemens.
You
said
you
were
gonna.
Take
a
look
at
this
PR
to
make
sure
there
wasn't
anything
funky
in
here.
Did
you
get
a
chance
to
do
that
or
did
anybody
else?
Look
at
it?
How
many
comments.
B
A
Well,
I'll
give
you
guys
and
particular
Clemens
a
chance,
though
it's
just
a
double
check
and
just
refresh
people's
memory.
The
must
here
and
the
must
here
are
technically
breaking
changes,
but
the
assumption
from
last
week's
call
was
that
we
assume
that
that's
what
we
meant
to
do.
It's
just
more
of
a
a
syntactical
thing
at
this
point,
because
I
was
always
the
intention
for
these
requirements
to
be
there.
B
B
A
A
All
right,
thank
your
buddy.
Thank
you
too.
Okay,
this
one!
Well,
this
one
is
not
ready
to
merge,
because
if
we
like
it,
if
you
like
the
general
direction,
I
need
to
make
the
similar
changes
to
the
other
transport
binding,
so
I'm
gonna
select.
Let
me
hide
the
comments,
so
just
refresh
people's
memory,
there
was
a
little
bit
of
there
was
lack
of
clarity
and
a
specification
in
terms
of
knowing
whether
a
binary
message
is
a
cloud
event
or
not
for
structured.
It's
obviously
very
easy.
A
A
A
Talk
about
it
be
about
the
weather.
The
message
ought
to
be
attempted
to
be
parsed
as
a
cloud
event
and
then
down
here
I
talked
about
how
you
know
tough,
all
the
four
attributes
are
there.
Then
you
could
start
that
process.
However,
just
because
those
fruits
are
there
does
not
mean
it's,
it's
technically
a
valid
cloud
event.
It
still
has
to
adhere
to
all
the
normative
language
in
the
specifications,
or
example.
There
are
musts
and
their
relative
to
that
I,
use
and
stuff
like
that.
A
If
they
don't
meet
those
musts,
even
if
they
are
even
if
they
do
have
the
attributes,
it's
still
not
a
valid
crowd
event.
I
don't
go
into
what
the
implementation
does.
If
it's
invalid,
that's
completely
up
to
it,
because
we
start
at
state
out
of
the
processing
model,
but
I
think
this
at
least
clarifies
whether
someone
should
at
least
attempt
to
parse
it
by
right.
The
presence
or
absence
of
those
four
attributes.
H
About
question
here,
so
we
are
referring
to
the
attributes
in
the
HTTP
headers,
to
increase
the
probability
that
we
determine
the
problem
that
I'm
struggling
with
them,
and
please
help
me
if
I'm
mistaken
is
it
still
doesn't
give
us
confidence
that
it
could
be
a
cloud
event.
So
what
is
it
actually
helping?
Is
it
clarify
anything
or
as
a
is
it
just
confusing
it?
A
little
bit
more
I
mean.
Does
that
make
sense?
It's
very
saying,
then
it's
probably
a
cloud
event.
A
I
think
in
my
mind,
there
are
two
reasons
why
we
can't
say
for
sure
one
is:
our
specification
cannot
mandate
that
people
do
not
use
our
attributes
randomly
right.
So
someone
could
say
hey
those
look
kind
of
like
interesting
attributes
and
I'm
gonna.
Stick
them
in
my
message,
but
they
don't
actually
know
about
our
specification
right,
and
so
the
presence
of
those
attributes
technically
doesn't
mean
anything
because
they
don't
adhere
to
the
full-blown
spec.
So
we
can't
force
people,
not
user
attributes.
So
their
presence
in
a
message
does
not
guarantee
anything.
A
It's
it's
just
the
it's
just
a
hint
that
it
may
actually
be
a
cloud
event
now,
even
if
they,
even
if
the
person
meant
for
it
to
be
a
cloud
event
if
they
messed
up
and
didn't,
adhere
to
the
rest
of
the
specification
according
to
the
spec
because
they
didn't.
You
know,
I'd
hear
to
all
the
musts
and
stuff
like
that.
A
If
it,
if
it
doesn't
hear
to
those,
it
is
not
a
valid
cloud
event
and
all
we're
trying
to
say
here
is
we
can't
be
definitive
one
way
or
the
other,
but
we're
trying
to
provide
some
guidance
on
what
people
should
look
for
to
try
to
see
whether
it
actually
meets
the
criteria
right
so
visible.
If
it
doesn't
have
those
attributes
in
there,
then
they
shouldn't
even
bother
trying
to
parse
it
as
a
cloud
event,
because
it's
not
gonna
pass
cut
it
correct.
So
it's
just
a
it's
a
wonderful,
featuring.
H
A
Kind
of
that's
why
you
look
at
it
technically,
there's
no
normative
language
in
here
right.
This
is
just
sort
of
abstract
guidance
and
I
write
it
in
a
lot
of
ways.
I
actually
thought
about
putting
this
into
the
primer,
but
I
thought
it.
This
might
be
important
enough
that
it
should
go
into
the
spec,
because
I
mean
I
got
more
than
one
eye.
People
have
asked
me
this
question
more
than
once,
thanks.
A
Okay,
not
her
any
objection
and
I'll
make
the
changes,
the
other
specs,
and
then
we
can
man
me
preview
it
and
approve
it
next
week.
Okay,
thank
you,
everybody,
okay,
this
one!
Technically
it's
an
SDK
thing,
but
I
wanted
to
give
everybody
else
a
chance
to
review
it.
Now,
in
last
week's
call,
we
were
talking
about
what
are
the
requirements
for
what
these
aren't
high
requirements
right?
These
are
pretty
much
just
suggestions,
but
we're
trying
to
talk
about
what
are
the
requirements
for
SDK
authors
and
last
time
we
talked
about.
A
Everybody
obviously
should
support
the
latest
and
an
N
minus
one
of
the
major
releases
within
a
major
release.
They
only
need
to
support
the
latest
version
or
the
latest
minor
version.
However,
we
do
have
sort
of
the
bootstrap
problem
of
what
do
you
do
when
the
latest
version
is
one
point,
though,
what
is
the
N
minus
one
at
that
point?
So,
according
to
or
the
agreement
we
talked
about
last
week,
I
had
a
note
here.
That
says
one
point
is
a
special
case
and
in
those
cases
people
should
support
zero
point.
I
A
K
A
A
A
B
B
What
is
not
cool
pops
up
is
a
proprietary
product
and
therefore
we
have
a
document
that
is
the
product
proprietary
products
link
document
that
takes
links,
so
this
spec
should
be
hosted
in
a
Google
or
posit
or
even
pointed
to
car.
J
The
rules-
yes,
thank
you
payments
for
pointing
out
it
was
my
bad.
I
I
didn't
know
what
the
rule
hey
I'm,
trying
to
move
this
so
repo
and
they're,
not
the
link
here,
yeah,
but
actually
I'm
glad
that
I
made
a
mistake,
because
I
had
some
really
good
comments
from
twist
of
them.
That
will
probably
address
and
I
think
I'm.
A
J
A
L
C
A
A
A
They
can
raise
an
issue
just
draw
our
attention
to
it
and
then
once
they
get,
you
know
a
couple
reviews
they
can
close
the
issue,
but
I'm
wondering
more
right
whether
we
should
add
some
text
someplace
and
either
this
dot
right
here
explaining
that
they
people
have
that
option
to
open
an
issue
to
draw
our
attention
to
it
or
it's
to
join
our
weekly
call
the
draw
our
attention
to
it,
or
something
like
that.
Do
you
think
that
would
be
helpful,
Jim,
I,
I
think.
L
That
needs
to
be
something
front
and
sent
into
somewhere.
That
says,
you
know
if
you're
doing
a
proprietary
binding
that
this
is
what
yeah.
This
is
what
it
should
do.
You
know
look
at
these,
you
know
take
them
as
a
template
and
then
you
know
open
a
PR
on
the
page,
we're
looking
at
to
cross-reference
stuff
yeah
because
they
think
that's
where
you're,
maybe
SDK
people
are
going
to
get
interested
as
other
bindings
start
showing
up
so
yeah
I,
don't
quite
sure
where
you
put
it
that
that's
that's.
Why
I'm
struggling
in.
A
A
N
The
paragraph
about
key
it
just
points
to
that
partition.
He
assaulted
the
partition
was
named
partitioning
extension,
which
is
just
confusing
because
he
is
a
really
well
defined
concept
in
in
the
Kafka
message
specification.
So
just
saying
the
key
extension
must
map
to
the
Kafka
message.
Kids,
it's
far
more
clear
than
saying
there
is
a
partition,
key
extractor
that
the
extra
things
and
then
put
inside
a
key.
But
then
you
open
the
partition
accession
and
it's
called
partition
key
extension.
N
So
it's
I
think
it
will
be
better
to
just
remove
the
link
to
the
partitioning
extension
essay.
A
when
you
create
a
called
event
that
goes
on
the
kafka
wire.
Then
you
put
me
to
put
the
Kafka
and
I
need
to
put
the
key.
The
message
as
an
accession
as
an
extension
name
key
to
meet,
sounds
for
more
clear
this
way
than
going
through
the
partitioning
extension
and
the
partition
TX
structure.
L
I
must
say:
I
haven't,
read
the
full
text
here,
so
I'm
not
entirely
sure
what
the
problem
is.
The
partitioning
the
petitioning
of
cloud
events
is
agnostic,
two
transports
yeah
so
but
I
think
when
that
extension
was
added,
it
was
there
to
enable
a
caf-co
transport
binding
to
take
advantage
of
it
if
it
was
present
yeah.
L
So
you
are
not
quite
sure
why
why
we'd
want
to
remove
that
that
linkage,
because
I
should
be
able
to
produce
a
cloud
event
and
to
define
a
potential
partitioning
key,
irrespective
of
the
transport
it
goes
over
and
in
fact
you
may
go
over
transports
that
don't
do
partitioning
yeah
so,
but
we
wanted
that
to
be
retained
across
multiple
transports.
So
that's
where
you
get
this
interesting
yeah.
L
B
Might
we
might
actually
have
a
conceptual?
There
might
be
some
miss
wording
because
the
the
partition
and
that
might
lead
to
that
confusion,
the
partition,
key
or
partition
ID
doesn't
actually
show
up
in
the
in
the
message
per
se.
But
it's
it's
the
partition
that
you
talk
to
in
in
Kafka
so
and
you
talking
to
the
partition
directly.
So
that's
a
connection
property,
ultimately
and
and
we're
we're
pulling
that
so
this
function
here
is
effectively
pulling
that
information
out
of
the
message
and
then
and
then
making
that
something
that's
related
to
the
connection.
B
So
it's
not
a
it's,
not
a
it's,
not
a
key
per
se,
but
it's
really.
How
does
how
for
Kafka?
How
can
you
tell
which
partitions
are
sent
to,
and
that
is
by
looking
at
the
partitioning
extension
by
default,
but
it
could
also
be
any
any
other
key.
That's
within
that's
what
the
mechanism
is
meant
to
do.
I.
O
N
And
I
think
and
I
think
that's
what
my
command
does
again.
I
mean
that's
that
that's
what
I
say
in
this
issue
that
when
you
say
partition
key
talk
to
a
Kafka
user,
it's
the
key
of
the
message
or
is
the
partition
ID?
It's
not
it's
not
really
clear
from
the
beginning
and
and
also
there
is
the
typo
that
in
the
spec
is
it
says
it's
a
state's
key
while
in
the
partitioning
exceptions
a
partition
key,
so
yeah.
B
That's
the
thing
we
tried
to.
We
tried
some
kind
of
decouple
those
things
we.
What
we
didn't
want
to
do
is
this.
You
write
the
partition
ID
directly
into
the
into
the
event,
also
because,
if
you
forward
the
event
into
a
downstream
Kafka
broker,
so
you
have
effectively
you
you
use,
let's
format,
if,
for
instance,
you
use
mirror
maker
and
you
go
from
a
four
partition
to
a
sixteen
partition
to
with
to
a
for
partition
broker.
B
If
you
use
a
key
function,
if
you
use
a
key,
then
the
the
partitions
will
distribute
differently
and
if
you
use,
if
you
use
a
stable
partition
number,
then
if
you
go
from
the
four
partition
to
a
sixteen
partitioning,
Kafka
install,
you
would
basically
just
go
and
send
you
know
from
four
partitions
or
four
partitions
and
you
would
have
twelve
partitions
that
are
idle.
So
the
idea
was
here
to
have
a
way
to
dynamically
in
the
client
determine
from
the
partition
key.
B
What
the
partition
number
would
be
and
of
course
the
key
attribute
here
is
kind
of
shooting
that
in
the
it's
probably
it's
not
a
proper
resolution
in
the
in
the
Kafka
stack
based
on
the
discussion
we've
been
having
so
I.
Think
that's
where
some
of
the
the
the
confusion
comes
from
and
I
won't.
Think
we've
we've
had
some
of
those
subscriptions
in
the
in
the
PRS,
so
we
probably
have
to
go
and
dig
back
into
the
history
and
find.
H
Out
so
I
had
a
comment
about
this
is
the
problem
the
implementation
of
that
function,
that
populates
that
attribute,
or
is
it
the
naming
of
the
attribute
and
I
think
it
sounds
like
that
should
be?
Those
should
be
separated
right
so,
depending
on,
if
it's
Kafka
downstream,
then
you
know
the
appropriate
partition.
Key
function
is
factored,
which
has
knowledge
on
a
number
of
brokers
and
how
the
best
implementation
versus
the
overloading
of
I
mean
the
attribute
is
key
and
how
it
gets
populated
are
two
separate
things.
Is
that
a
fair
comment?
Yes,.
B
Yes,
oh
yes,
it
is
I,
think
I,
think
we've
been
we've
been
a
little
lazy
and
wavy
on
this
point
where
we
we've
basically
left.
We
may
see
left
this
with
this
function
and
when
I
think
we
thought
we
had
that
solves
the
function.
The
function
ultimately
in
this
transfer
binding
takes
by
default.
This
partition
key,
that's
what
this
this
extract.
B
B
You
should
be
able
to
specify
some
criterion
in
the
message
that
will
then
go
and
determine
what
your
number
is
without
that
key
or
the
partition
ID
having
to
manage
be
manifested
in
the
message
per
se,
because
the
the
mapping
of
the
of
the
message
to
a
partitioning
may
be
different
as
a
routing
that
events
for
multiple
kinds
of
kinds
of
infrastructures
that
are
partitioned.
Okay,
thanks.
H
Right
yeah
actually
can
I
just
maybe
suggest
we
take
a
concrete
example
like
and
then
say
what
was
that
key
being
so
I
think
we're
all
in
agreement
that
the
key
should
be
I,
don't
know
implementation
agnostic,
but
from
the
key
we
want
to
extract
some
data
that
would
indicate
how
it
should
be
used
by
this
extraction
function
to
determine
downstream
choices.
Right,
yeah.
B
So
make
that
concrete
if
I
was
if
I
wanted
to
say
the
my
partition
criteria
is
actually
the
subject.
That's
in
in
the
in
the
event,
I
should
be
able
to
do
so.
So,
let's
say,
I
haven't
I
have
an
event
that
events
that
are
coming
where
the
source
is
a
device
of
sorts
and
that
emits
all
kinds
of
telemetry
and
then
the
subject
is
temperature
and
then
other
subject
is
whatever
rotations
per
minute.
The
other
one
is
so
different
criteria
that
are
happening
and
they're
all
on
the
subject.
B
I
should
then
be
able
to
go
and
have
a
function.
That
then
assigns
those
for
two
partitions,
so
I
saw
that
function
might
be
knowledgeable
of
the
of
the
numbers
of
numbers
of
partitions
in
my
immediately
in
the
Kafka
implementation.
That's
immediately
in
front
of
me.
Let's
say
that
has
four.
So
the
function
is
some
kind
of
hash
over
the
subject:
mod
4,
that's
how
I
get
the
partition
ID
now
I,
pull
that
stream
out
and
now
I'm.
B
Taking
the
same,
the
same,
the
same
streams
like
of
the
all
the
data
that
comes
out
of
that
Kafka
customer
and
I
want
to
go
forward
that
now
to
a
different
color
cluster,
but
then
has
16
partitions,
so
I
should
go
in
and
again
run
a
fun
that
is
some
hash
over
the
subject.
Mod
16
and
I
get
the
and
I
get
a
different
site,
give
different
kinds
of
partitions.
That's
that's
what
I
mean
okay.
H
B
It
must
be
in
the
forward
inclined,
it
must
be
in
the
implementation
that
is,
that
is
interacting
with
that.
That
is
implementing
this.
This,
the
transport
binding,
look
the
way
how
we
thought
about
this,
like
as
we
have
evolved.
These
things
is
that,
as
we
get
into
these
scenarios,
where
we're
actually
forwarding
all
this
data
and
forwarding
is
something
that
is
so.
B
The
reason
why,
when
when
by
a
forwarding
was
it
was
a
project
discussion
in
this
whole
time
was
that
industrial
scenarios,
for
instance,
have
this
device,
the
device
emits
telemetry
and
then
a
telemetry
goes
to
know
dozens
of
parties
who
might
be
interested
in
that
information
for
all
kinds
of
different
reasons.
So
there's
there
forward,
there
are
those
forwarding
scenarios
and
in
those
forwarding
scenarios
we've
we've
talked
about
transcoding
scenarios,
etc.
B
So
for
here
effectively
the
the
the
client,
the
cloud
in
its
khakhra
client
that
is
connected
to
a
concrete
cluster
will
then
know
how
many
partitions
exist,
and
it
will
then
go
and
calculate
what
the
appropriate
partition
is
for
that
cluster
and
correct
somewhere
else
on
the
route.
Another
client
may
make
it
very
different
and
the
condenser
yes,
sorry
head
what
one
says,
and
that
is
why,
and
that
is
why
the
partition
number
right.
The
concrete
partition
hint
cannot
be
in
the
message,
because
the
decisions
on
the
route
will
be
different,
correct.
H
H
Let's
say
you
had
four
kafka
clusters,
but
there
is
a
config
which
is
at
some
point
which,
when
the
rubber
hits
the
road
needs
to
tell
it,
it
has
I,
don't
know
for
brokers,
twelve
brokers,
thirteen
brokers,
and
this
is
the
extraction
function,
and
it
knows
how
to
take
a
generate
key
and
map
it
to
when
it
determines
what
the
routing
needs
to
be.
It
knows
how
to
appropriately
choose
the
hashing
function
endured.
H
B
I
think
this
I
think
what
we
need
to
do
is
we
need
to
make
a
correction
here
and
basically
say
the
key,
a
true
we
need
to
be.
We
need
to
make
clear-
and
it's
not
clear
here-
that
the
key
attribute
really
means.
What
is
the
partition
we're
sending
to
so
we
need
to
reword
I
believe
we
need
to
go
and
do
a
bug
fix
here,
which
is,
is
the
partition
ID,
the
Kaka
partition
ID
is
determined
through
partition,
key
extractor
function,
and
we
might
also
call
this
call
this
difference.
B
A
I
A
A
B
They
partitioning
extension
that
what
that
gives
you
is
it
gives
you
a
partition
key
in
the
cart.
A
partition
key
is,
if
you
need,
if
you
can't,
if
you
can't
have
a
if
you
can't
derive
from
the
message
content
itself,
what
partition
that
ought
to
belong
to?
You
have
some
artificial
criterion
by
which
you
can
go
and
order
that
so
so
you
might
have
you
a
partition.
Key
is
effectively
an
art
to
the
artifice
of
correlation
key
of
some
sort.
So.
B
It's
so
if
you,
if
you
can't
determine
only
through
source
and
and
type
and
subject
how
you
want
to
process
that,
because
that's
often
what
partitioning
does
right
partitioning
is,
is
slicing
up
your
event
stream
in
a
way
that
the
processor
can
deal
with
it.
Well,
the
oscars
can
deal
with
it,
which
means
that
the
publisher
may
give
hints
in
a
form
of
partition,
key
for
how
those
events
shall
be.
A
B
To
partitions
and
the
partition
key
might
quite
well
be
a
totally
artificial
assignment
that
the
application
logic
kind
of
jammer
generates
in
some
way
and
how
it
groups,
events
and
those
groups.
The
groups
of
events
may
be
groups
of,
let's
say,
may
be
groups
of
devices.
You
have
a
thousand
devices
which
are
all
different,
all
different
sources
and
sending
different
events,
but
you're
grouping
them
together,
like
a
production
lot
that
all
then
emits
the
same
partition
key,
because
you
want
to
have
them
together.
That's
why
that
partition?
B
That
is,
that
what
that
partition
key
is
generally
for,
and
then
that
function
that
we're
referring
to
here.
The
goal
of
the
the
job
of
that
function
is
to
look
at
either
something
that
is
in
the
metadata
of
the
message
or
that
partitioning
that
partition
key
and
then
affecting
compute
a
partition
ID
out
of
it
and
computation
man-made.
N
B
Clear
because,
because
the
way,
how
those
quiet
so
Kafka
on
the
record
itself,
right
doesn't
even
have
that
information
can
neither
does
neither
does
here
our
our
event,
information.
The
partition
is
something
that
the
partition
information
is
something
that
is
outside
of
the
event,
and
it's
really
only
relevant
for
for
the
senders
and
receivers
how
they
get
the
stuff
out,
but
it
becomes
in
completely
irrelevant
once
you
are
forwarding
that
event
elsewhere.
So
it's
simply,
it's
really
just
a
local
function
for
a
local
local
concern
for
that
particular
car
cluster.
N
B
N
F
B
Okay,
because
in
Kafka
in
Kafka
in
particular,
the
Kafka
doesn't
have
a
doesn't
have
a
shared
gateway.
Is
architectural
remodelers
the
way
how
you
find
that
the
way
how
you
talk
to
partitions
is
you
connect
effect
directly
to
the
broker,
who
owns
the
partition?
Which
means
you
need
to
know
ahead
of
time
which
partition
you're,
selecting
and
that's
where
the
clients
are
to
actually
do
that
job.
Okay,.
B
B
B
Okay,
because
we
may
have
the
partition
key
right,
is
it
generic
mechanism
that
exists
in
the
event
extension?
There
are
other
brokers
outside
of
Kafka
which
all
have
partitioning
models,
so
so
the
goal
for
that
partition
key
mechanism
is
to
be
generic
and
then
be
usable
by
all
the
other
by
the
other
brokers,
which
also
need
partitioning.
So
this
is
a
particular
implementation
here,
and
that
should,
and
that
should
map
to
the
partition
ID.
So
we
we.
Basically,
we
made
a
mistake:
I'm
not
cleaning
this
up
when
we
when
we.
F
B
A
So
Clemens
I'm,
just
sorry
sure,
I
understand
this,
because
when
I'm
reading
the
text
in
here,
you
see
there's
to
me
that,
assuming
that,
while
the
wording
may
not
be
exactly
what
we
want
is
what's
written
here
actually
wrong,
or
is
it
just
a
little
misleading
because
it
the
way
I'm
reading?
This
is
that
it
says:
there's
an
extractor
function
that
people
will
use
to
figure
out
what
partition
to
put
things
into.
A
B
B
F
I
think
it's
also
good
to
clarify
yeah.
This
key
is
not
the
partition
ID.
It
could
be
used
by
a
matching
function
to
map
to
a
Cartesian
ideal.
It
might
it's
obvious.
All
the
parties
might
be
function
can
use
other
attributes
to
map
the
message
partition
for
partition
right.
So
if
we
can
all
just
say
this
key
map
to
the
key
in
this
partition
key
map
to
the
key
of
the
conquer
that
maybe
make
it
clear.
A
H
Think
just
the
last
comment
is
the
whole
point
of
a
key
and
a
partition
key
and
everything
is
very
Kafka
specific
right
and
it's
it's
and
I
think
it
was
also
mentioned
I.
Think
by
Kathy
that
you
know
everything
else
is
extracting
that
using
metadata
in
the
message
to
extract
the
partition
key.
So
it's
something
that
is
in
the
in
the
client
and
the
client
function
right.
B
H
Exactly
and
I
think
I
would
like
to
I
think
we
should.
My
only
point
in
my
last
point
is
thank
you
for
this
discussion.
It's
been
extremely
helpful.
I
think
we
should
just
mention
that
there
is
no
key
attribute
in
the
message.
The
point
is:
it's
it's
symbolic,
which
is
extracted
from
metadata
and
the
message
to
facilitate
downstream
actions,
but
I'm
gonna.
B
A
B
And
that's
and
that's
why
we
that's
why
we
have
this
as
an
extension,
because
there's
not
applicable
to
all
cases,
but
in
case
you
have
a
partitioning
log
or
Q
whatever.
Then
you
need
to
have
a
partition
method,
partitioning
key
of
some
sorts
and
because
that
is
not
too
uncommon.
We
made
an
extension
out
of
it,
but
that's.
B
A
A
B
A
F
A
Here
we
go
wait
a
minute
Christoph
are
you
there
yeah
hi,
better
late
than
never
gotcha
we're
just
about
the
end.
Yeah
I
just
noticed
that
I'd
say
it's
time
to
do.
Yes.
I'm,
sorry,
I
suspect
a
lot
of
people.
Okay,
in
that
case,
you
guys
wait.
That
gets
us
in
into
the
call.
Unless
buddy
is
anything
else,
they
want
to
bring
up
Vlad.
Are
you
there.
J
A
Paula
I
probably
should
have
sent
that
note
to
remind
people
but
I
completely
completely
slipped
my
mind,
I'm
sorry.