►
From YouTube: CNCF Extended CloudEvents Call 2021-02-04
Description
CNCF Extended CloudEvents Call 2021-02-04
A
A
D
E
A
How
about
ho
are
you
there,
yeah
you're
done
hey.
F
A
G
A
A
A
All
right,
it's
three
after
why
don't
we
go
and
get
started
before
we
do
that,
though,
we've
been
kind
of
just
walking
through
this
sample
scenario
with
github,
and
I
want
people
to
understand
that
this
is
just
one
that
I
threw
together.
If
you
guys
have
other
samples
or
walk
through
exercises
that
you
want
to
walk
through,
you
know,
please
speak
up
or
feel
free
to
add
it
to
the
doc
or
create
your
own
doc
or
something
I
don't
want
this
to
be
all
about
the
thing
I
find
interesting
right.
A
I
want
there
are
obviously
plenty
of
other
scenarios
out
there,
so
we
need
more
to
walk
through
to
make
sure
we're
covering
all
the
cases.
A
Okay,
let's,
let's
quickly,
though,
recap
where
I
think
we
left
off
after
last
week's
call-
and
please
speak
up
if
you
think
I
get
this
wrong
or
got
this
wrong,
we
decided
that
we're
going
to
add
a
source
property
and
it's
going
to
be
a
single
value
and
it's
going
to
match
whatever
the
source.
The
cloud
event
source
value
is
going
to
be
so
it's
kind
of
like
a
filter
in
a
sense
in,
in
the
sense
that
all
cloud
events
must
have
that
source
value.
A
It's
going
to
be
required
for
managers
to
support
optional
for
clients
to
send
it
in
on
their
subscribe
request
and
whether
this
that's
required
for
managed
or
not
is
we're
going
to
start
with
it
being
required
and
see
how
it
goes
going
forward.
I
know
there's
some
questions
about
whether
it
should
be
optional
or
not,
for
managers
to
support
it.
A
If
it's
absent
and
the
requirements
request,
then
this
and
the
the
source
value
and
the
cloud
events
that
are
sent
are
unconstrained,
meaning
you
can
get
many
different
values
as
opposed
to
just
one
value.
Does
that
sound
right
so
far
to
what
we
agreed
to
last
week.
A
Okay,
similarly,
sorry
go
ahead:
yes,
okay,
cool,
okay.
Similarly,
we're
going
to
add
a
types
attribute.
It's
going
to
be
an
array
of
ce
type
values
meant
to
indicate
the
type
of
events
you're
interested
in
so
again,
it's
kind
of
like
a
filter
thing,
but
it's
no
wild
cards
or
anything.
It's
just
the
exact
values
itself
going
to
be
required
for
manager,
support
optional
for
clients
to
send
if
it's
specified
all
cloud
events
send
must
have
one
of
those
types.
A
A
Moving
forward,
going
to
keep
the
filters
pretty
much
as
we
are,
as
we
have
them
today,
other
than
they're
going
to
be
optional,
for
managers
to
support
they've,
always
been
optional
for
clients
to
send,
but
we're
going
to
make
it
optional
for
them
for
managers
to
support
and
then
the
mechanism
by
which
they
indicate
that
is
still
tbd
bringing
this
in
in
the
discovery
spec.
A
Okay,
okay,
so
I've
based-
I
added
this
just
yesterday,
just
to
make
it
clear
or
just
because
I
felt
like
we
needed
some
extra
text
in
the
spec,
and
maybe
this
belongs
better
on
the
primer.
A
We
can
figure
out
the
exact
placement
of
it,
but
we
did
actually
recently
add
a
pr
that
talks
about
this
three-step
processing
model
and
I
think
we
made
we
may
need
to
revisit
that,
not
because
it's
wrong,
but
just
to
make
it
make
sure
it's
still
aligned
with
what
we
agreed
to
up
here,
because
we
didn't
have
source
and
type
before.
So
we
may
need
to
talk
about
in
in
the
context
of
creating
the
event.
A
Okay,
so
just
verify
that
text
we
need
to
make
it
clear
that
the
source
and
type
are
meant
to
be
used
in
the
first
phase,
meaning
during
the
create
event
phase
in
particular,
to
help
identify
and
configure
the
event
source
or
the
producer
with
respect
to
the
events
it's
generating.
Okay.
A
Let
me
show
you
an
example
just
so
you
guys
can
see
we're
talking
about
here
right.
So
we
have
quite
a
few
attributes
here
and
I
wanted
a
reader
of
this
to
be
able
to
specifically
say:
okay,
you
know
this
set
is
meant
for
phase
one.
This
other
set
phase
two,
and
this
other
sets
phase
three.
That's
where
there's
a
very
clear
grouping
of
these
attributes,
and
I
think
that
will
help
people
understand
how
we
envision
these
things
actually
being
used
if
they're
just
sort
of
randomly
scattered.
A
It
seems
like
less
less
clear
to
me
anyway,
but
then
at
the
end
of
it
I'm
sorry
go
ahead.
G
Aren't
the
use
of
those
contingent
on
the
implementation
of
the
backing
systems
to
which
subscriptions
are
being
made.
A
Are
an
excellent
straight
manner?
I
guess
that's
why
I
put
this
paragraph
right
here,
because
I
want
we
need
to
make
it
clear
that
these
are
our
design.
This
is
our
design
mental
model
we
had,
as
we
wrote
the
spec,
however,
how
people
choose
to
implement.
It
is
completely
up
to
them
as
long
as
it
gives
the
right
semantics.
So,
for
example,
you
know
you
could
technically
do
the
filter
during
the
create
phase.
A
If
that's
the
way,
you
chose
to
implement
it
right
and
so
we're
not
constraining
that
it's
just
I
want
people
understand
this
is
this
is
how
we
define
the
attributes
in
terms
of
how
the
end
user
kind
of
perceives
them-
and
it
is
a
little
bit
of
guidance
in
terms
of
how
we
kind
of
think
the
implementation
might
go,
but
we
are
in
no
way
requiring
that
the
information
exactly
match
that
it
does
have
to.
It
has
kind
of
appear
that
way
to
the
end
user
in
a
sense.
Does
that
make
any
sense?
G
I
mean
it's
what
I
said
already
that
based
off
of
the
system
that's
being
subscribed
to
in
this
particular
implementation
of
that
system.
There's
there
are
attributes
that
could
be
part
of
one
phase,
whereas
in
a
different
system,
they'll
be
part
of
a
different
phase.
G
So
and
that's
not
very
specific,
but
imagine
I
don't
know,
two
scenarios
in
you've
got
two
kafka
topics
that
you're
subscribing
to
and
so
in
in
one
of
the
topics,
the
the
events
that
flow
through
that
topic
are
very
specific,
and
so
you
don't
need
to
do
any
filtering
and
just
identifying
that
source
and
and
the
events
in
it
that
you're
interested
in
that's
that's
a
static
declaration
of
you
know
where
things
are
going
to
come
from,
but
in
the
pure
topic,
the
those
events
are
sent
and
then
also
the
events
that
some
other
kind
of
events
are
sent.
G
So
there's
both
the
static
element
of
hooking
up
and
then
the
the
specific
element
of
filtering
for
just
the
event
of
your
interest.
Right.
So
that's
a
case,
for
you
know
same
technology,
everything
else.
It's
it's
user
configuration
specific,
whether
that
the
the
what
kind
of
type
is
going
to
be
a
a
dynamic
thing
or
a
static
thing,
and
so
I
don't
know
it
seems
like
there's
so
much.
I
mean
it's
not
bad.
G
It
doesn't
seem
like
it's
a
bad
idea
to
talk
about
the
different
classes
of
of
the
phases
of
application,
the
the
kind
of
static
ability
to
analyze
something,
but
it
seems
like
all
all
subscription
apis
are
gonna,
have
to
pay
attention
to
what
is
the
meaning
of
this
and
in
the
particular
context,
where
it's
being
applied
and
and
do
some
analysis,
even
even
the
same
argument,
could
have
both
static
and
and
dynamic
parts.
G
G
Ago,
but
anyway
the
I
I
the
this
proposal
of
stages,
I
I
think
that
it's
useful
to
talk
about
that
being
an
important
part
of
what
the
systems
have
to
do.
I
I
don't
know
that
declaring
what
attributes
are
a
fit
into,
what
stages
is
something
that
you
can
do
with
you
know,
with
reasonable
confidence.
A
Oh
okay,
okay,
the
way
you
phrase
that
there
clicked
a
little
bit
better
with
me.
So
thank
you
so
so
let
me
ask
you:
let
me
pick
on
that
a
little
your
because
I
think
you're,
basically
kind
of
implying
that
something
like
trying
to
say,
source
only
applies
or
typically
only
applies
to.
The
first
phase
might
not
be
accurate,
and
I
want
to
understand.
A
Is
that
because
you
think
well
applying
the
source
property
may
actually
be
implemented
more
as
a
filter
kind
of
a
thing,
or
do
you
think
trying
to
explain
our
rationale
behind
why
source
is
pulled
out
from
the
filter
is
a
bad
thing.
I'm
trying
to
I'm
just
trying
to
figure
out
where
to
where
to
go
with
this,
because
I
think
I
think
you're
raising
an
interesting
point.
I
don't
want
to
miss
it.
That's
why
I
want
to
make
sure
I
fully
understand
it.
G
Best
at
this,
so
the
the
source
is
is
could
be
itself
a
mix
of
dynamic
and
static
pieces
right,
so
the
source
could
be.
You
know
some.
You
know
kind
of
a
whole
string
of
things,
it
kind
of
says:
here's,
the
actual
physical
component.
This
data
is
going
to
come
off
of,
but
then
it
could
also
include
maybe
the
a.
G
G
Like
a
reasonable
place
right,
but
but
that
topic
could
be
something
based
on
the
implementation,
it's
dynamic
and
that
maybe
there's
multiple
topics
or
maybe
it's
a
you-
know
a
client
to
a
specific
kind
of
I
don't
know
product
or
something
retails
poisoned,
my
brain,
but
so
you
know
there's
I
want.
I
want
all
the
events
that's
coming
from.
G
You
know
the
gucci
stream
and
so
that
that
source
could
be
both
the
stream
that
contains
this
whole
slew
of
transactions
and
events
related
to
products
for
our
company
and
then
the
gucci
part
of
that
would
be
a
filter
over
that
stream.
And
so
that's
I
I
don't
know-
and
this
is
I'm
pretty
kind
of
try.
I
feel
like
I'm
stretching
in
this
particular
case,
but
it
seems
like
this
sort
of
thing.
H
So
we
have
a
so
klaus
and
I
we're
currently
working
in
a
parallel
product
integration
stream
together,
and
we
want
to
bring
some
of
that
context
here
and
we
actually
have
a
scenario
like
this
where
or
might
have
a
scenario
like
this.
We,
where
in
no
means
by
no
means
settle
on
this
but
effectively
there
is
an
sap
system
that
wants
to
go
and
deliver
something
into
azure.
H
And
to
do
this,
we
need
to
do
effectively
a
bulk
subscription
on
the
the
the
customers,
sap
scope
and
that's
something
like
this:
where
yeah
there's
a
so
it's
not
every
well-
and
let's
say
gucci
is
a-
is
an
sap
customer
which
is
unlikely.
H
So
so
you
you.
Basically
you
have
a
subscription
manager
which
now,
which
is
now
acting
somewhere
over
in
the
sap
system,
and
you
say
everything
that's
being
raised
in
on
behalf
of
that
customer.
Send
that
here
that's
a
that's
a
legit,
that's
a
legit
case.
I
think,
and
the
way
how
we
would
prefer
to
model
this
at
this
point.
H
Certainly
the
microsoft
side
of
this
of
the
discussion
is
to
say
the
gucci's
scope
inside
of
that
sap
system.
That
is
a
effective
the
root
source,
if
you
will,
is
the
prefix
for
all
the
other
substructure
that
that
might
exist
in
that
system,
and
if
I
walk
up
to
that
source,
I
can
go
and
subscribe
to
everything
that's
inside
of
it,
but
that
would
still
that
would
still
say
so.
I
would
I
would
indicate
in
in
this
relationship
I
will
go
and
indicate
as
the
source
the
super
the
super
scope.
This,
like
you,
know.
H
H
I
only
want
to
have
events
from
this
more
specific
source,
which
is
prefixed
by
the
the
original
source,
and
maybe
only
this
this
type
in
this
type,
and
then
I
might
also
want
to
go
and
filter
that
further
down
to
this
subject:
prefix
or
subject
suffix
so
there's
the
kind
of
this
broader
subscription,
which
then
funnels
events
into
an
event
broker
where
you
can
then
go
and
and
have
a
second
level
subscription
to
be
more
fine-grained.
That's
that's
one
example
of
of
where
source
becomes
effectively
a
scoping
mechanism.
A
Okay,
what
I
was
going
to
say
before
was
I
I
think,
rather
than
trying
to
rat,
hold
too
much
on
this,
because
this
isn't
really
normative
text
in
the
spec.
It's
more
like
insight
into
our
thinking
process
or
how
we
expected
things
to
be
done,
but
it's
technically
non-normative
eric.
Why
don't
we
wait
until
we
actually
have
a
pr
trying
to
address
this
particular
task
or
item,
and
then
we
can
wordsmith
that
to
address
your
needs.
Does
that
sound?
Okay?
It
sounds
great,
okay,
okay
cool,
so
I
think
this
is
where
we
left.
A
A
This
is
where
it
really
starts
to
change
so
based
upon
what
we
agreed
to
the
source
now
becomes
github.com
cloud
events,
slash
spec,
and
we
have
two
types,
because
there
were
two
different
events
that
I
was
interested
in
when
I
do
subscribe.
I'll
talk
about
that
in
a
second,
but
I
have
no
filters
and
no
config,
because
all
the
config
are
now
encoded
within
the
source.
A
Okay,
now
this
one
I
got,
this
is
where
I
got
a
little
bit
interesting.
So
when
I
subscribe
using
the
normal
of
browser-based
model
for
github,
I
can
give
it
a
issues
and
a
push
type
of
event.
Okay,
now
push
is.
A
That
that's
the
that's
exact
one-to-one
mapping.
However,
the
issues
is
interesting
because
github
to
the
web
interface
just
has
the
notion
of
issues
and
you
get
all
different
types
of
issues
right,
create
versus
delete
edit.
That
kind
of
stuff.
However,
in
our
adapter
we
actually
made
the
type
to
be
github.com.github.issue.action,
or
maybe
it's
issues
I
can't
hear
for
sure,
but
anyway,
the
key
is
it's
dot
action
now.
A
H
A
A
A
H
They
don't
like
so
so
I
mean
adapter
means
means
we
take
something
that
someone
someone
built
without
thinking,
much
about
how
we're
thinking
about
events
here
and
and
we're
trying
to
adapt
it
and-
and
I
think
we
want
to
have
discrete
events
for
each
action
that
might
happen.
Okay,
I
think
from
so
so.
H
If
cloud
events
exist
and
you
would
design
this
fresh,
how
would
this
look?
I
mean
that's
what
the
adapter
should
do?
Okay-
and
I
don't
think
it
needs
to
it-
needs
to
say
here-
is
an
existing
web
api,
and
how
do
you
reconcile
that
with
with
with
cloud
events
and
preserving
it
effectively,
I
mean
we
can
do
that
and
then
the
answer
is
yeah.
A
H
Yeah
I
mean
if
we
were,
if
we
were
because
they're
not
they're,
not
they're,
not
cloud
events
compliant
at
this
point
right
and
when
they
are,
I
think
the
advice
we
would
give
them
is.
If
they
ask
you
or
if
they
ask
me,
then
you
would
say
yeah.
It
would
be
great
if
you
for
the
issues
for
every
particular
different
action
or
change
type
you
have,
you
would
go
and
raise
a
different
event.
H
J
Good
morning
yeah,
I
you
know
more
or
less
echoed
the
same
thing
right.
If
you,
if
you
look
at
it,
sort
of
a
more
restaffarian
kind
of
perspective,
they
could
still
offer
com
github
issues
that
you
have
written
as
a
fire
hose
as
well
as
the
more
fine-grained
types
or
whatever
yeah
types
that
you're
calling
it
right.
So
it
does
it.
It
doesn't
have
to
be
a
black
and
white
right
relative
to
our
spec.
A
A
Okay,
remy.
K
Your
hands
up,
yeah
and
sorry
I
had
to
replace
last
week,
but
so,
if
I
understand
correctly,
if
I
want
in
that
case
all
the
issues
like
as
it
cannot
prefix
I
mean
I
should
not
put
any
types
and
then
I
should
use
the
filtering
because
that's
my
only
way
to
filter
on
types
or
github.issues.
A
K
A
Well,
finally,
so
I
agree
with
you
if
we
were
rewriting
github
from
scratch,
I
agree.
We
would
probably
put
create
it
here
right,
but
this
sample
is
trying
to
minimize
the
amount
of
changes
in
github
itself,
meaning
what
do
they
do
today
and
natively
today?
They
only
support
issues.
They
don't
support
a
finer
grain
filtering
through
their
web
book
mechanism.
Okay,.
L
A
A
Okay,
in
that
case,
I
can
buy
into
that
okay
cool,
thank
you,
clements
and
all
for
time
again
in
that
case,
is
there
anything
about
this
subscribe,
then
that
doesn't
match
other
people
everybody's
mental
model,
of
how
a
subscribe
would
look
to
today's
github.
A
K
A
K
That
box
is
a
repo,
the
cloud
event.
Yes,
okay,
sorry,
my
bad.
I
thought
it
was
just
like.
I
won't
cloud
even
space.
A
A
Okay,
so
I
I
thought
it
would
be
interesting
to
see
what
would
happen
if
somebody
decided
not
to
use
types
and
they
left
it
blank,
and
instead
they
tried
to
use
filters
to
to
get
the
events
they
were
interested
in,
and
I
think
the
requests-
and
I
say
request
because
there's
two
of
them
would
look
like
this
right.
I
think
you'd
still
have
the
source
point
of
cloud
event
spec.
A
H
So,
okay,
so
I
have
a
question
there
because
I
can't
quite
remember
because
our
yaml
and
the
excuse
me
for
that
word-
a
white
space,
sensitive
specification
and
and
our
our
our
written
spec
actually
diverge
on
that
point
on
how
the
filters
are
being
said,
so
we
have
for
dialect,
we,
I
think
we
landed
on
basic
instead
of
simple,
because
we
decided
that
it's
not
simple.
H
H
H
A
H
H
A
I
think
I
think
the
spec
is
the
more
up-to-date
thing.
Let
me
get
back
to
the
filters
here.
I
think
I
think
this
is
what
we've
agreed
to
mainly
because
people
wanted
to
be
able
to
do
ands
across
different
dialects.
If
you
support
more
than
one
dialect.
H
H
H
H
A
H
I
thought:
okay,
that's
what
that
says:
yeah,
okay,
so
type
property
and
value;
okay,.
H
So
I
because
I
was
I
was-
I
was
working
off,
the
the
the
code
generated
the
code
generated
types
from
that
open
api
spec,
and
I
was
just
puzzled
puzzled
by
the
discrepancies.
But
now
I
remember
okay,
thank
you
for
for
helping
helping
me
through
this.
Okay.
A
Sure,
okay,
so
going
back
to
here,
I
think
in
order
to
get
the
same
semantics,
because
it's
an
and
in
the
filters
you
have
to
do
two
different
subscriptions
one
asking
for
a
type
of
issue
and
then
another
asking
for
a
type
of
push.
But
basically
everything
else
is
the
exact
same
okay,
that's
that's
the
way
it
would
have
to
be
today,
based
between
our
spec
and
the
way.
Github
works,
okay
and
notice
that
you
know
this
is
asking
for
the
generic
issue
thing
we
just
like
above.
A
If
we
needed
to
filter
on
just
create,
then
we
can
add
a
filter
mechanism.
Okay,
of
course,
the
downside.
H
That
is,
that
is
specifically
where
we
have
this
list
of
types
to,
because
that
that
makes
it
easier
to
to
subscribe
to
a
list
of
types.
A
Yep,
yes,
yes,
it
basically
gives
you
the
ore
exactly
right.
So
the
question
I
had
for
the
group
is.
A
Maybe
ask
this
later
on,
but
I'm
asking
now
anyway,
is
this
okay
right,
because
in
this
in
this
simple
case,
it's
easy
to
say
well
dummy
you
should
have
used
the
type
field.
That's
what
the
you
know
that
gives
you
the
or
semantics,
but
you
know
what,
if
I
wanted
to
use
prefix
here
instead
and
allow
a
little
bit
of
wild
carding
that
pushes
me
towards
two
different
subscribes.
So
my
question
for
the
group
is:
should
filters
allow
for
or
semantics
in
some
way?
E
L
E
H
So
if
you,
if
you
were,
if
you
were,
if
you
were
doing
this
or
if
we
would
need
this,
I
would
prefer
I
would
prefer
a
I
would
prefer
introducing
like
if
you
really
need
anything
that
is
not,
and
I
might
prefer
a
boolean
dialect
which
has
an
or
an
and
which
in
to
which
you
can
then
stuff
other
filters.
H
That's
that's
what
we
left.
That's
where
we
effectively
landed
with
amkp
is
that
we
were
like
okay.
H
Are
we
going
to
start
introducing
operators
in
this
world,
or
are
we
simply
going
to
go
and
create
containers
that
have
particular
semantics
and
what
we
we
landed
on
this
on
the
model
where
we
said
we're
going
to
make
these
kinds
of
containers,
so
you
have
effectively
a
filter
that
has
that
is
an
ore
filter
that
contains
other
filters
and
that
yields
true,
if
any
of
the
contained
filters
yield
true
and
then
there's
an
as
filter
that
yields
true,
when
all
of
the
internal
filters
yield
true
and
then
we
also
made
a
nut
filter,
of
course,
and
then
you
can
go
and
put
them
all
into
an
and
and
they
will
yield
the
right
thing.
N
That's
for
her
hand,
I
can
tell
you
in
a
moment
I
just
need
to
go
and
find
the
damn
speck.
A
A
A
H
So
the
so
the
akp
filter
is
well
yeah,
so
the
akp
only
allows
one
filter
for
let's
say
a
source,
so
we
needed
to
have
a
mechanism
that
effectively
allows
you
to
so
so
filters,
and
this
is
this
is
what
this
is
why
this
is
a
this.
This
is
a
neat
trick.
H
We
only
have
one
filter
to
play
with,
so
we
said
okay,
but
we
want
to
have
combinations
of
those.
So
you
make
the
filter
that
is
actually
a
list,
and
then
the
filter
has
inherent
has
an
inherent
semantic
that
is
all
in
any
or
not,
and
then
you
can
stuff
alter
other
filters
in
there,
but
effectively.
H
What
we're
saying
is
one
so
in
mqp
terms,
one
one
one
terminus
can
only
have
one
filter
and
that
filter
is
now
expanded,
that
the
functionality
of
that
filter
is
now
expanded
by
making
making
that
filter
a
thing
that
can
have
a
list
of
filters.
H
A
Right
and
so
let
me
echo
that
back,
it
sounds
like
what
you're
saying
is.
If
we
were
to
match
amqp,
we
would
remove
the
array
from
here
and
it
would
just
be
a
single
thingy,
but
in
order
to
get
the
multiple,
even
the
and
that
we
have
today,
you
would
have
to
start
out
with
a
grouping
dialect
and
under
there
use
an
all
right
and
then
list
out.
In
essence,
this
thing,
as
well
as
one
of
the
choices
there.
H
H
Yep,
where
you
can
well
and
then
you
can
go
and
build
very
interestingly
complicated
expressions
by
simply
having
these
kinds
of
lists
nested,
and
this
also
fits
with
and
from
a
from
a
semantic
perspective.
H
Interestingly
enough,
that
also
fits
with,
and
that
is
that
is
coincidence,
because
I
didn't
look
at
open
api
or
json
schema.
H
H
So
if
you,
if
you,
if
you
look
at
json,
schema
for
how
you
define
a
type
and
what's
permitted
in
there,
you
have
a
choice
of
one
off
or
all
off
and
any
off
which
basically
gives
you
like
duct
type
options
for
how
the
type
might
look
like.
So
that's
that
it's
kind
of
similar,
so
it's
also
they're,
not
choosing
ends
and
or
in
those
constructs,
but
they
have
these
all
in
any
and
then
one
option
and
one
is
effectively
just
all
with
one
one
inside
of
it.
A
A
I
I
like,
if
we
I
do,
think
we
need
some
sign
up
or
mechanism
personally
and
I
think
a
grouping
dialect
makes
a
lot
of
sense
to
me
and
if
we
introduce
that,
I
then
like
the
idea
of
moving
the
array,
because
I
don't
like
treating
and
as
special
right.
So
I
like
I
like
the
direction
you
guys
took
with
all
that.
So
this
has
a
lot
of
appeal
to
me
at
least
initially,
so
I
like
it
as
well
ryan.
Did
you
want
to
chime
in
here
yeah
I'll,
speak.
P
Up
so
I
think
this
is
something
we
talked
about
when
we
like
took
a
first
stab
at
this
last
year.
This
always
felt
weird
to
me.
It's
just
the
implicit
semantics
of
the
array,
so
I'm
plus
one.
A
All
right
cool,
thank
you
for
speaking
up.
Anybody
else
want
to
chime
in
all
right,
in
that
case,
not
hearing
any
objection.
Let's
work
with
that
as
a
decision
and
see
how
that
looks.
So
let
me
just
go
up
here,
whoop,
what
the
heck
did.
I
do
eh
I'll
work
on
adding
to
the
list
up
top
of
what
we
agreed
to
later.
A
A
Okay,
now
just
for
fun,
I
decided
what
would
it
look
like
if
we
actually
use
this
mythical,
sql,
query
language,
oh
manuel
asking:
do
we
need
one
of
dewey
okay?
So
just
the
question
is.
C
H
It's
it's
it's
possible
that
I'm
wrong
and,
and
so
yeah
one
off
might
be.
My
one
off
might
be
useful
edition.
H
H
H
I
can
see
how
you
need
this
in
schema,
where
you
are
literally
especially
in
something
like
jason,
where
or
j
where
the
kind
of
everything
is
duct
typed,
and
then
you
really
need
to
go
land
on
exactly
one
one
type.
Looking
at
at
alternatives
for
filtering.
A
I
know
yeah,
I'm
leaning
a
little
bit
more
towards.
I
want
to
understand
the
use
case
better
because
filtering
down
to
just
one
exactly
one
event
type
and
trying
to
understand
why
you'd
need
that
as
a
filter,
but
I
also
I'm
okay
with
adding
it.
If
people
think
it
may
be
useful,
we
could
always
remove
it
later,
but.
A
P
C
Just
simply
so
an
example
where
I
filter
for
type
and
subject
they're,
both
basic
filters.
Nested
inside
this
new
grouping
dialect
and
with
the
one-off.
I
could
select
for
events
that
have
one
subject
exactly
matching:
what
I'm
looking
for
or
a
type,
but
not
both.
At
the
same
time,.
A
A
I
I
I
need
to
kind
of
get
a
sense
from
the
group,
because,
obviously
it's
not
a
clear
yes
or
no
from
everybody
do
we
would
we
prefer
to
put
it
in
and
see
how
it
goes,
because,
obviously,
if
it's
in
we're
going
to
be
forced
to
implement
it
or
we
would
prefer
to
wait
until
we
have
a
more
concrete
use
case
to
add
it
in.
H
I
think
adding
stuff
is
easier
than
taking
things
out,
so
I'm
I'm
leaning
towards
making
a
note
and
then
and
then
adding
it
like,
I'm
not
supposed
to
add
it.
I'm
just
opposed
to
adding
it
without
having
clear
a
clear
notion
of
what
of
of
a
of
a
compelling
use
case
of
what
we
would
need
needed
for.
A
A
Okay,
cool.
Thank
you
all
right,
moving
forward,
then
just
for
fun,
I
decided
to
see
what
it
would
look
like
if
we
actually
use
the
mythical
sql
dialect
that
we've
been
talking
about
and
it
seemed
fairly
straightforward.
Obviously
this
would
need
to
be
com,
github,
dot,
issue
and
github.push,
but
it
seemed
like
it
was
fairly
straightforward
to
do.
Does
this
look
like
I'm
sorry,
go
ahead.
H
Yeah,
so
this
sorry
to
answer
your
question:
does
this
look
like?
Yes?
Does
it
look
like
right,
but
I
have
something
I
have
something
else
that
I'm
gonna
and
you
are
typing,
so
I
would
like
to
try
something
something
else,
and
that
is
the
instead
of
formulating
the
filter
like
like
you
do
now,
we
could,
and
that
is
like
the
filter
object
inside
the
filter.
Object,
have
the
the
filter
type
be
the
key
of
an
of
the
object
that
then
describes
the
the
details.
H
So,
instead
of
I
wish
I
could
type
on
your
keyboard.
You
can
go
to
this
dock.
O
N
A
Well,
well,
cummins
is
bringing
it
up.
Lou
you're,
I
don't
know
the
answer
to
that
question.
We
I
think
we
may
still
need
the
sql
dialect
just
because
some
people
may
want
to
use
an
sql
processor
that
they
already
have
in
their
back-end
system,
because
that
makes
it
really
really
easy
for
them.
So,
for
example,
I
can
imagine
somebody's
saying
you
know
what
I'm
not
going
to
support
this
grouping
dialect.
A
That
clemens
came
up
with
I'm
going
to
just
use
a
sql
query,
because
all
my
events
are
in
a
database
and
I
could
just
slap
in
this
expression
to
my
current
sql
engine
and
it
just
works
so
like
I
could
imagine
when
I
want
to
get
rid
of
it.
Like
imagine,
people
choosing
one
or
the
other,
but
that's
just
me
anonymous.
H
Hippo,
I
I
think
these
the
sequel
dialect
can
do
can
do
more
than
than
these
come
these
kind
of
than
these
combinations,
also
because
the
proper
language,
because
the
state
has
things
like
like,
and
so
you
can
do
easier
expressions
if
you
follow
kind
of
the
my
mind
is
obvious,
obviously,
with
the
jms
like
message
selectors,
so
those
are
more
powerful,
but
you
can
already
achieve
a
lot
with
these
all
in
any
and
not
and
then
simple
these
these
basic
filters
that
we
have.
H
So
I
think
I
think
we
can
get
a
lot
we
can.
We
can
probably
start
with
with
having
those
expressions
first
and
then
add
sql
if
we
need
it.
I
just
want
to.
N
H
H
H
Where
you
basically
get
basically
make
the
filter,
so
the
filter
needs
to
live
inside
of
an
object,
because
otherwise
the
key
would
not
be
unique,
but
it
can
then
effectively
once
you
have
the
key,
then
you
know
what's
following
so
r
is
always
an
object
and
n
is
always
an
object
and
not
is
probably
also
sorry
all.
Are
they
always
arrays
and
not
is
also
an
array?
H
Is
it
yes
and
then
and
then
the
individual
filters
would
then
have
objects
associated
with
them,
which
then
have
the
conditions
inside
of
them?
That's
that's.
A
more
concise
way
and
kind
of
gets
gets
rid
of
the
dialect
thing,
because
we're
gonna
have
some.
H
H
Just
thinking
aloud
and
and
not
necessarily
around
sql,
but
I'm
just
using
that
as
an
example-
okay,
that
that
might
be
that
might
be
stomping
onto
people's
feelings
on
on
how
jason
ought
to
be
looking
like.
So
I
I
just
want
to.
H
I
just
want
to
throw
that
into
the
group
and
say
I'm
not
particular
about
it,
but
that
would
make
the
json
more
compact.
C
Yeah,
I
know
actually
I
want
so.
This
still
requires
the
sql
to
be
embedded
in
an
object.
Otherwise
you
cannot
list
more
than
one
sql
inside
the
other
way
right.
It's
not
even
syntactically
correct.
It
needs
to
be.
I
C
I
A
Yeah
ignoring
typos,
I
think
I
think
clemen's
point
is:
let's
get
rid
of
the
the
dialect
thingy
here
and
just
make
this
the
the
field
name
or
property
name
or
the
object
name
whatever
it's
called.
H
I
mean
it's
it's,
this
is
just
sugar
yeah,
but
I
have
that.
I
have
that.
I
just
want
to
put
that
up
up
there
to
say
this,
especially
this
is
this
then
kind
of
more.
A
Well,
we
can
so.
Let
me
ask,
let
me
ask
this
while
we're
while
we're
thinking
about
this.
So
what
do
people
think
is
this
stuff
in
pink
or
whatever
color?
That
is.
Is
this
a
direction
people
would
like
to
consider.
I'm
not
saying
definitely
go
with
it,
but
if
we
think
it's
an
interesting
option
after
today's
phone
call-
and
I
write
up
again
what
we've
agreed
to,
I
can
list
this,
as
you
know,
another
alternative
to
this,
a
little
more
verbose,
syntax
that
people
can
see
it
in
action
and
and
play
with
it.
A
I
guess
so
I
guess
my
question
is:
does
anybody
violently
object
to
this
as
a
consideration
not
agreeing
to
it
just
something
to
consider,
because
I
agree
with
you
clemens,
I
I'm
waiting
for
scott
to
show
up
on
the
call.
I
can
imagine
scott
barfing
all
over
this.
N
So
jason
actually
does
it
like
that.
I
just
need
to
go
and
find
the
right.
I
just
need
to
find
the
reference
hang
on.
S
P
Argument
that
I
might
have
is,
if
you
wanted
to,
if
you
wanted,
to
create
a
json
schema
for
the
descriptor
here,
would
it
be
possible
if
your
keys
were
describing
the
dialect.
H
Jason
schema
itself
uses
that
so
I
think
as
I
just
as
I
just
just
there,
there
we
go
so
jason
schema
is
using
that
construct
and
I
don't
think
that
you
can
describe
json
schema
and
json
schema,
which
means,
but
don't
ask
me
how
I
do
this,
I'm
just
assuming
that
you
can.
So
that's
that's
what
I'm
that's
the
inspiration
for
what
I
just
what
I
just
said.
G
You
can
validate
json
schema
with
json
schema.
H
Yeah,
that's
that's
what
I
was
assuming
those
those
those
folks
now
are
up
to
version
seven
now
oodling
on
this,
whatever
they
expected
that
they
can.
H
Yes,
that's
that's
where
that
comes
from
right,
I
mean,
and
then
whether
we,
whether
we
use
the
off
or
not,
then,
is
also
the
question,
but
I
think
I
think
that's
a
that's
a
very
attractive
model
of
just
combining
these
things
and
we
can
go
and
use
the
same
thing
for
filters
and
I
think
the
syntax
is
also
the
syntax
is
also
okay.
A
H
Yeah,
that's
that's
the
that's
the
only
that's.
The
only
concern
is
that
tooling
might
be
a
little
upset
by
this,
so
we
would
have
to
go
and
take
a
look
at
what
the
I
mean.
H
H
Yeah
because
I
have
to
I
have
to
I
have
to
with
the
open
api
anyways,
because
I'm
I'm
literally
coding
to
it
now
right
now
to
for
the
for
our
interrupt
effort,
and
so
therefore
I
and
our
our
our
open
api
spec
in
the
repos
is
outdated.
So
I
have
to
go
and
update
that,
so
I
would
go
and
make
a
make
and
make
a
version
that
that
uses
that
all
right
cool,
so
I'm
gonna,
I'm
gonna.
So
let
me
let
me
make
that
concrete.
A
A
A
All
right:
okay,
let's
go
back
okay,
so
this
is
actually
a
good
stopping
point.
Yeah
I
had
to
have
more
in
the
dock,
but
since
it's
time
for
a
regular
phone
call,
let's
go
back
over
to
here
and
christoph.
I
got
you.
Thank
you
just
roll
call.
Before
we
go
back
to
the
other
things.
Let's
see,
andreas
no
andreas
dropped,
gail!
No
john
laswell!
You
there
yep
all
right
lucas,
frank
yep!
Here
all
right
christopher!
I.
P
E
D
S
Yeah,
I
said
yes
for
the
other
one.
I'm
sorry.
A
A
A
A
Yeah
well
yeah,
because
the
because
we're
gonna,
obviously
we
get
oh,
I
need
actually
I'm
pretty
sure
we
get
two
one
for
cloud
events
and
one
for
serverless
working
group.
Assuming
we
do
get
two
you
and
I
talked
offline
about
making
the
serverless
workflow
take
over
the
serverless
working
group
session
and
whether.
A
A
Okay,
good,
thank
you
all
right
this
week,
we'll
be
talking
interrupt
discovery
at
the
top
of
the
next
hour.
So
one
o'clock
eastern,
I
don't
think
we
have
a
lot
to
discuss,
but
just
in
case
people
do
timmer
anything.
You
want
to
mention
about
workflow,
to
update
the
group.
I
Not
much,
we
just
finished
the
looping
structure,
stuff
that
I
mentioned
last
week
and
I
think
we're
just
looking
overall
improvements
before
the
next
release
of
the
specification,
all
right
cool.
Any
questions.
A
All
right,
thank
you.
Moving
forward
a
couple
of
pr's,
so
this
one
we
skipped
last
week
because
I
thought
the
person
I
was
chatting
with
may
want
to
chime
back
in,
but
he
didn't
so.
I
think
this
one's
ready
to
go
this
basically
just
talks
about.
Oh,
we
never
did
mercy.
Okay,
yeah.
This
basically
talks
about
hold
on
a
minute.
A
Okay,
I'm
sorry
that's
getting
confused.
This
is
about
dealing
with
errors,
and
basically
this
is
just
saying
in
the
primer
that
errors
are
just
like
any
other
cloud
event
and
that's
about.
As
far
as
we
go
I'll,
let
you
guys
read
it
in
case
you
having
a
chance,
give
me
a
second
there.
While
I
take
care
of
something
in
the
background
here,.
A
All
right
and
then
down
here
it
was
just
syntactical
cleanup
more
than
anything
else
again,
this
is
in
the
primer,
so
it's
not
normative
any
questions
or
comments.
Concerns
about
this
text.
Oh,
I
did
also
add-
I
think,
two
weeks
ago,
this
second
paragraph
based
on
that
person's
question
about
the
adapters
and
stuff
and
how
they
relate
to
all
this.
A
All
right
next
technically,
this
was
open
today
and
I'll
if
we
like
it
I'll
wait
until
the
end
of
the
week
to
merge
it.
But
last
time
we
talked
about
I'm
sorry
during
the
last
design
session,
somebody
it
may
have
been
classic.
I
remember
noticed
that
source
template
was
missing
in
the
discovery
spec
in
the
pseudo-schema
section.
So
this
is
just
an
example
of
you
know
in
suicide.
What
the
subscribe
looks
like
what
the
discovery
looks
like
our
discovery
service
looks
like
so
I
just
added
it
in
there.
A
E
A
Of
the
definition,
so
I
just
want
them
to
be
the
same,
and
then
I
just
remove
some
tabs
here.
So
really,
this
is
the
only
real
change.
That's
not
sync
tactical!
I
just
added
this
to
the
pseudo
schema,
any
objection
with
that
and
if
everybody's
okay,
with
it
I'll,
wait
until
the
end
of
the
week
to
merge
it
and
I'll,
let
people
know
they
have
that
much
time
to
review
it.
But
it's
just
a
syntactical
thing.
A
All
right
cool
so
some
way
to
the
end
of
the
week,
all
right
cool.
Thank
you,
hey
slinky!
Is
there
anything
you
want
to
talk
about
relative,
the
excuria
expression,
language.
A
A
A
Okay,
so,
but
please
everybody
when
you
get
a
chance
to
review
that
all
right
now.
What
I
wanted
to
do,
I'm
sorry.
Are
there
other
pr's
that
need
addressing?
I
believe
these
four
down
here
are
still
waiting
for
updates.
I
did
not
notice
any
updates
go
through
and
I
can't
remember
for
sure
who
owns
them
other
than
I
know
for
a
fact.
A
Clemens
at
least
owns
one
lance
owns
one
and
then
clemens.
You
have
a
to
do
on
one
that
you
don't
own,
but
you
promised
some
some
updates
or
proposal
related
to
it.
I
can't
remember
who
else
is
involved.
I
know
at
least
you
two
are
involved
so
you're
being
nagged.
Sorry,
yes,
okay,
nag,
taken
excellent,
okay!
A
Anything
before
I
jump
into
these
issues.
I
just
want
to
see
if
we
can
get
out
of
our
backlog,
any
other
prs
or
issues.
People
want
to
bring
up.
A
U
Can
you
actually
do
the
signing.
U
A
All
right,
thank
you,
scott
appreciate
that
all
right
this
one,
so
this
person
is
complaining,
saying
geez,
it's
annoying
that
we
don't
allow
dashes
and
I
think
he
actually
talks
about,
underscores
too
yeah
in
our
attribute
names
and
he
would
he
wants
to
know
if
we
can
extend
it
I'll.
Let
you
guys
actually
read
this.
A
A
A
How
do
people
want
to
respond
to
this?
Do
we
do
we
want
to
come
back
and
say
sorry,
we
discussed
this.
We
thought
about
it
again,
but
nope.
We
still
made
the
right
decision
or
do
we
want
to
say.
Maybe
we
were
too
restrictive
before.
T
B
H
I
I'm
fairly
sure
that
we
have
that
we
discussed
this
in
issues
long
and
extensive.
H
U
U
R
U
Yeah
so
then,
so
when
we
removed
the
ability
to
make
extensions
that
created
subdirectories
in
the
json
structure,
we
limited
the
character
set
to
just
you
know,
be
flat
extensions,
but
maybe
it's
okay.
We
could
loosen
it
now
because
we
don't
necessarily
support
the
zero
one
and
zero
two
specs.
H
So
dashes
are
a
problem
because
dashes
are
not
allowed
in
language
mappings,
so
they
cause
problems,
so
they
turn
into
something
else,
sometimes
the
underscore
character
which
is
different
and
then
they
become
confusing.
Because
then
you
know,
what
are
you
going
to
do
with
the
underscore
character?
Does
it
say
an
underscore
character,
or
does
it
become
a
dash
and
then
underscore
is
not
allowed?
H
In
other
constructs
like,
I
think
you
can
use
an
underscore
for
one
of
the
header
types
and
what's
that
amqp
or
equal
or
http
somewhere,
the
underscore
is
not
allowed
like
it
gets.
It
gets.
E
H
H
A
A
Scott,
since
you
mentioned
the
the
nesting
stuff,
do
you
have
any
preference
on
which
way
we
go
with
this?
I
mean
now
that
we
don't
have
the
nesting.
Do
you
think
we
should
consider
adding
dash
back
in
or
do
you
still
think
it's
probably
safer
to
keep
it
out,
especially
given
the
other
stuff.
A
A
Okay,
in
that
case
clemens,
do
you
want
to
try
to
answer
this
this
person,
or
would
you
like
me
to.
H
H
N
A
All
right
cool!
Thank
you
all.
Now,
here's
another
one
to
have
a
blast
from
the
past,
so
this
person
who's,
her
name
francisco,
wants
to
add
wait.
A
minute
can.
A
Oh
yeah,
okay,
yeah,
so
this
person
initially
said
hey.
Why
don't
we
add
a
correlation
id
basically,
and
I
tried
to
explain
that
we've
been
down
this
path
before
we
couldn't
come
up
with
a
single
definition
that
satisfied
at
least
the
majority
of
the
use
cases,
and
since
we
couldn't
get
agreement
on
what
a
single
definition
should
be,
we
decided
to
punt
on
it,
and
people
can
always
add
extensions
for
it.
A
However,
he
does
specifically
microsoft
azure
and
he
does
talk
about
it
being
you
know,
picking
up
their
definition
and
saying
oh
they're,
all
related
to
the
same
uber
operation
and
just
last
night
I
responded
saying:
well
that's
great,
but
that's
just
one
definition,
because
other
people
look
at
it
as
potentially
a
parent-child
relationship,
not
just
part
not
just
related
to
the
same
uber
thing,
and
that's
exactly
why
we
decided
to
punt
on
this.
So
I'm
inclined
to
say
we
should
keep
this
one
closed
as
well.
T
I
hope
I'm
gonna
say
I'm
not
gonna,
say
something
stupid,
but
correlation
id
to
me
sounds
I
mean
we
have
the
partition.
Key
partition
key
is
somehow
I
mean
the
key
of
a
message
in
systems
that
their
partitions
and
stuff
like
that
are
are
somehow
semantically
related
to
like
a
to
something
like
a
correlation
id.
T
A
A
T
A
partition
key,
a
partition
key
is
yeah
is
for
something
like
kafka.
Yes,
that's
true,
but
from
for
a
semantic
point
of
view,
it
is
a
correlation
of
the
event.
T
O
H
Sensing
a
trap:
oh
no,
go
ahead.
What's
the
trap,
the
trap
is:
there's
a
the
trap
that
we
should
not
fall
into
is
that
the
rpc
people
get
a
hold
of
cloud
events
and
start
doing
correlation
id
as
oh.
This
is
the
response
to
this
request.
H
A
B
A
Look
we
we're
not
changing
our
mind,
at
least
as
of
right
now,
however,
if
this
person
feels
strongly
about
it,
just
like
anybody
else
he's
welcome
to
open
up
a
pr
to
create
it
as
an
extension,
and
if,
for
some
reason
that
extension
becomes
very,
very
popular,
then
we
consider
consider
adding
it.
We
can
consider
adding
it
to
the
spec,
but
as
of
right
now
we
have
no
desire
to
try
to
come
up
with
a
single
definition.
We've
failed
in
the
past.
A
E
A
Okay,
sound
okay
with
everybody
all
right
cool
in
that
case
next
on
the
agenda
is
to
go
back
to
our
deep
dive
design
session.
But
first,
let
me
ask:
are
there
any
other
topics?
People
would
like
to
bring
up
on
the
call
for
the
main
agenda,
our
main
call?
A
A
A
God
you're
right,
I
free
out
of
you.
Yes,
thank
you
very
much
all
right.
Anybody
else,
all
right
in
that
case,
if
you
do
not
care
about
the
deep
dive
design
or
you
don't
care
about
the
discovery
interop,
you
are
free
to
go
and
thank
you
all
for
joining.
Otherwise
we're
going
to
switch
back
to
the
deep
dive
design
discussion
all
right.
Thank
you.
Everybody
for
joining.
A
Okay,
all
right
back
to
the
design
okay,
so
we
already
talked
about
doing
an
ore,
so
we
talked
about
creating
another
dialect.
Oh
okay,
just
for
those
who
joined
late
just
to
bring
you
up
to
speed.
A
These
things
are
called
and
there's
an
implicit
and
because
it's
an
array-
and
we
had
some
discussion
and
we
decided
well,
let's
make
it
a
singleton
instead
of
an
array
but,
however,
add
a
grouping
dialect
so
that
you
can
then
add
in
whatever
semantics
you
want,
basically
an
and
or
in
a
not-
and
this
allows
for
nesting
of
these
filters
as
well,
to
give
you
whatever
kind
of
complicated
things
you
want
to
do.
But
that
means
the
bare
minimum
that
people
might
choose
to
support
would
just
be
if
they
just
support
just
basic.
A
It's
no
ans,
no
ors,
just
a
simple
string,
matching
type
thing:
okay,
so
that's
how
we're
going
to
get
ors
into
the
filter.
Expressions
is
through
this
grouping
grouping
dialect
and
then
the
open
question
was
is
okay,
we've
got
an
and
an
or
not
should
we
do
an
exact
one
kind
of
thing
or
one
of
thing,
and
we
decided
as
of
right
now
to
not
include
it,
but
to
revisit
it
later,
people
can
come
up
with
a
with
a
really
good
use
case
for
why
we
want
it.
A
Okay.
The
other
thing
I
want
to
bring
forward
is,
as
we
had
that
discussion
clemens
as
we
got
into
this
sql
example.
Just
because
I
wanted
to
see
what
it
would
look
like
if
we
actually
use
the
mythical
sql
proposal
that
slinky
was
working
on
and
what
it
would
look
like
and
it
you
know
it's
a
fairly
nice
compact
thing,
pretty
cool.
A
However
clemens
said
well
what,
if
we
from
a
syntax
perspective,
change
it
so
that,
instead
of
being
as
verbose
as
we
are,
what
if
it
looked
like
this,
where
the
dialect
type
is
actually
sort
of
the
name
of
the
object
itself
or
the
key
instead
and
that's
following
a
similar
pattern,
we've
been
seeing
in
json
schema
where
you've
got
stuff
like
this.
A
A
All
right
moving
forward,
then,
let's
see
where
were
we
okay,
so
one
of
the
things
I
wanted
to
ask
about
is.
A
Filters
right
now
are
basically
defined
as
conceptually
filtering
over
a
stream
of
events
that
are
coming
from
the
event
producer
right.
It's
that
phase
two
that
we
talked
about
where
phase
one
is
creating
the
event
phase
two
is
filtering
the
events
and
then
phase
three
sending
so
phase
two
as
we
currently
have
it.
Sort
of
as
a
mental
model
is
strictly
filtering
over
this
stream,
which
means
you're.
You
can
only
filter
on
the
properties
that
appear
in
each
event
as
it's
going
to
appear
on
the
wire
okay.
A
So
I
started
wondering
especially
during
the
previous
incantation
of
this
github
example
of
well
what
if
I
don't
want
to
filter
on
something
that
appears
in
the
wire?
What
if
I
want
to
filter
on
some
attribute,
that's
known
to
the
event
producer,
but
it's
not
actually
manifested
on
the
wire
itself,
should
filters
be
allowed
to
actually
include
things
that
are
not
in
the
event
itself?
A
A
If
someone
wants
to
support
filtering
over
something,
that's
not
on
the
wire,
I
would
be
inclined
to
say
fine.
You
can
do
that,
but
use
the
config
stuff
that
we
talked
about
and
define
your
own
config
property
thingy.
Even
if
that
config
property
thingy
is
a
filter,
do
your
own
thing,
but
let's
keep
filters
pretty
pure
and
simple,
and
it
impacts
just
what
goes
on
the
wire.
But
that
was
just
my
initial
thought
process.
A
C
A
Right,
okay,
cool
all
right.
I
just
wanted
to
make
sure
we
thought
about
that.
Okay,
so
this
isn't
actually
trying
to
get
to
any
kind
of
decision
other
than
as
I
was
thinking
about
this
last
night,
I
thought
well
what
happens
if
someone
actually
doesn't
want
to
specify
source
or
type,
and
they
want
to
try
to
specify
the
entire
github
subscription
that
we've
been
playing
with
using
just
filters.
A
Okay,
and
what
I
decided
to
do
is
say:
okay.
Well,
what?
If
I
choose
to
write
it
as
well?
Here's
my
normal
filter.
I
want
just
these
two
types
of
events,
but
instead
of
specifying
the
event
source,
I'm
going
to
specify
it
where
there's
a
property
called
owner
and
repo.
Actually
this
isn't
going
to
work
because
we
just
agree.
We
can't
filter
on
things
outside
the
message,
if
you
could
specify
if
you
could
filter
on
things
outside
the
messes.
A
A
No
so
source
and
type
are
filterable
because
they
appear
on
the
wire.
Does
that
answer
your
question
eric.
A
A
Well,
how
do
you
know
which
event
is
related
to
which
subscription,
and
I
was
wondering
whether
we
should
consider
adding
a
formal
cloud
event
extension,
meaning
it's
an
extension
not
in
the
spec
called
subscription
id
that
way,
people
when
they
get
an
event
can
know
which
description
it's
related
to
so
they
know
exactly
which
subscription
resource
they
need
to
to
delete
to
kill
it
and
that
we
would.
If
we
did
this,
I
would
say
that
we
should
make
it
a
a
should
for
the
subscription
manager
to
include
it
in
the
event
sent.
A
C
I
have
an
opinion
about
this,
so
if
my
subscription
manager
was
acting
as
a
third-party
subscription
facilitator-
and
I
have
producers
not
knowing
about
the
subscription
handling,
it's
gonna
be
tough,
especially
if
I
have
multiple
subscriptions
onto
which
I
want
the
then
producer
or
broker
at
the
subscription
id,
which
is
a
feature
I
wouldn't
have
with
the
remember.
When
we
talked
about
the
firehose
thing,
adding
subscription
ids
to
all
of
the
events,
I
I
don't
think
that
is
a
good
idea.
A
A
C
C
Say
that
again,
I'm
not
sure
understood.
So
if
I
receive
events
on
a
sink
from
two
separate
subscriptions,
I
these
the
same
event
will
be
replicated
and
sent
the
same
thing
with
different
subscription.
Ids
correct.
A
Oh,
I
was
not
assuming
someone
would
duplicate
the
event.
Is
it
possible
for
a
single
event
to
be
associated
with
more
than
one
subscription.
H
Because
because
it,
I
think
the
the
event
will
be
well,
you
would
have
to
annotate
to
annotate
the
event.
H
That's
that's
also
why
it
makes
makes
sense
to
do
it
as
as
a
as
a
as
an
extension,
because
you
can
imagine
that
if
the
subscription
is
is
selecting
the
event
to
deliver
it,
it
could
go
and
annotate
the
events
while
delivering
it.
But
then,
if
you
have
cascades
of
subscriptions,
the
original
subscription
would
be
lost.
H
O
H
Said
it
in
the
first
in
the
in
the
first
hour
with
you,
know
the
bulk
subscription
and
the
sap
thing,
and
then
that
running
through
the
the
the
event
grid
on
our
end
to
kind
of
allow
more
differentiated
subscriptions
will
be
one
of
those
examples
where
you
have
effective
cascading
subscriptions
on
top
of
each
other.
Interesting
would
would
you
and
just
to
add
that
the
the
original
subscription,
the
bulk
subscription
that
that
azure
makes
on
the
sap
system
is
nobody's
business.
H
The
middleware
would
probably
want
to
drop
it
okay
and
then,
and
then
it
might
go
and
add
in
the
end,
I
I'm
not
so
I'm
I'm
I'm
I'm
on
the.
This
is
probably
not
worth
it
side
of
the
fence,
probably
because
it's
adding
complication,
okay.
Well,
I
I
do
appreciate
the
oh,
my
god.
Please
unsubscribe
me
from
this
list
attitude
that
you
have
on
this
one.
A
That
yeah
that's
what
it
comes
to,
because
if
I'm
getting
tons
of
events
from
different
githubs
or
different
event,
producers,
sometimes
it
may
not
be
easy
to
necessarily
know
which
subscription
actually
created
that,
because,
especially
if
I
can
create
more
than
one
subscriptions,
the
same
repo
kind
of
a
thing
right
so
to
to
the
notion
of
a
single
event
being
either
related
or
caused
by
whatever
word
you
want
to
use
in
there
more
than
one
subscription.
A
H
A
Yeah
that
that
correlation,
I
was
assuming
they
they,
they
would
figure
out
on
their
own
right,
because
when
you
do
the
subscribe,
you
get
back
an
id.
H
In
the
example
that
I
just
that
I
just
gave
with
the
the
the
sap
the
subscription
and
then
the
azure
subscription,
the
end
user
will
not
be
able
to
reach
the
first
level
of
subscription
manager
and
not
know
about
its
existence.
A
So
I
granted,
I
agree
with
you.
It's
not
100
guarantee!
That's
why
I
at
one
point
I
thought
about
even
creating
a
url
to
the
subscription
object
itself,
but
even
that's
not
necessarily
valid,
because
it
could
be.
You
know
a
url
that
the
user
may
not
be
able
to
have
access
to
or
the
url
that
they're
using
doesn't
match
the
url
that
the
system
thinks
is.
People
are
using
right
because
there's
a
some
dns
magic
going
on
right.
That
kind
of
stuff.
That's
why
I
thought
this.
H
I
think
of
this,
so
so
I
think
this
is
a
as
an
optional
extension.
H
That
is
an
annotation
of
the
event,
which
means
this
is
always
applied
by
the
event
the
dispatcher
effectively
that
so
so
the
one
that's
actually
that's
actually
in
the
subscription
that
will
go
and
take
an
event
and
stamp
it
with
its
own
identifier.
When
it
go
when
the
event
is
being
delivered,
then
that
works.
A
Okay,
so
you
said
something
also
in
there
in
a
couple
minutes
ago.
Come
up
previous
minutes.
You
said
something
about
how
making
it
an
extension,
and
that
definitely
was
my
intention.
It
was
not.
I
was
not
planning
on
adding
it
to
any
of
our
specs.
It
was
just
to
be
able
to
think
it's
useful,
but
I
before
I
actually
go
off
and
even
think
about
creating
an
extension
spec.
A
Is
it
worth
it
right?
Do
people
think.
B
P
I'm
I'm,
I
think,
I'm
a
little
bit
unclear
on
what
is
the
concrete
purpose
of
x.
I
think
we're
like
talking
about
a
few
things
we're
talking
about
being
able
to
unsubscribe,
which
in
that
case
I
would
argue,
the
consumer
should
just
use
the
subscription
id
of
the
manager
that
it
used
to
create
the
subscription
and
shouldn't
know
about
sort
of
the
transitive
chain
of
proxies
and
managers
upstream,
but
we
also
talked
about
being
able
to
disambiguate
duplicate
events
and
also
talked
about
correlation.
P
A
J
Yeah,
so
I
guess
I
I
had
the
sort
of
the
same,
the
same
question
about
the
the
specifics
of
the
use
case,
but
but
also
adding
the
the
perspective
of
what
additional
burden
are.
We
then
putting
on
each
of
these
subscription
managers
in
terms
of
you
know,
tracking
state
about
these
subscriptions,
especially
as
you
were
just
talking
about
you
know
with
overlaps,
and
you
know
aggregate
proxy
situations
where
they
have
a
fire
hose
and
they're
trying
to
pass
that
stuff
through
as
as
cheaply
and
quickly
as
possible
right.
Are
they
like?
J
What's
the
what's
the
what's,
the
memory
and
processing
burden
that
they're
going
to
have
to
add
on
top
to
be
able
to
support
this
and
then
we're
talking
about
use
cases
that
it's
going
to
be
hard
to
even
support
and
ambiguity,
and
things
like
that
so
yeah.
I
want
to
understand
more
about
specific
use
cases
where
we
think
it's
the
only
way
or
the
best
way
or
somehow
more
efficient,
to
put
that
burden
on
the
on
those
aggregators.
Those
proxies
versus
the
subscriber
having
to
deal
with
their
own
subscriptions.
Q
Yeah,
I'm
also
not
sure
on
on
the
use
case
and
I
think
the
whole
idea
that
you
just
okay-
I
don't
want
to
see
when
I'm
just
unsubscribing,
if
you're
not
so
sure
what
your
subscription
do
in
the
first
place,
then
you
may
delete
a
subscription
that
actually
sends
you.
I
don't
know
five
or
ten
different
event
types
you're,
not
interested
in
this
one
particular
event,
but
then
you're
dropping
all
of
those
event
types.
Q
So
I
think
in
all
cases
you
really
need
to
look
at
your
subscriptions
in
detail
before
you
can
just
start
dropping
things.
So
maybe
the
correct
operation
is
not
deleting
it
about
modifying
the
filter
to
get
to
filter
some
things
out.
A
To
a
very
specific
thing
I
would
agree,
but
if
you,
if
you
basically
said
you
know
any
source
any
type,
I'm
just
going
to
subscribe
to
this
to
this
particular
subscription
manager,
then
it
becomes
a
little
bit
more
challenging,
but
I'm
not
I'm
hearing
enough
people
questioning
it
that
I'm
going
to
I'll
go
off
and
think
about
it,
but
as
of
right
now,
I'm
not
going
to
take
any
action
because
I'm
not
hearing
widespread
support
and
if
there's
not
widespread
support
for
it
yet
then
it's
probably
not
worth
it.
A
A
Okay,
in
that
case,
that
was
the
end
of
the
github
example.
Now
clemens
you
and
I
talked
earlier
today:
did
you
get
a.
E
H
I
I
did
not
I,
I
did
not
have
time
to
write
it
down,
but
I
thought
about
this
a
bit
and-
and
there
is
a
like
in
the
subscription
document,
there
is
a
section
that
basically
says
we
don't
want
to
go.
We
don't
want
to
go
in
and
invent
new
api,
for,
I
think,
on
top.
H
Is
it
more?
Oh,
this
isn't
it.
You
know,
there's
a
there's
a.
I
have
a
section
on
this
on
subscription
and
effectively
effectively
describing
the
inherent
mechanisms
of
some
of
the
yeah.
So
there's
exactly
so,
there's
this
consumer
solicitor
delivery,
the
pull
style
and
then
there's
the
push
style.
The
push,
push-style
delivery
and
I
think
those
are
different
in
terms
of
how
we
think
about
those
hdp
doesn't
have
a
mechanic.
H
It
doesn't
so
this
might
get
long
hang
on,
because
I
want
to
say
this
now
in
my
own
words
other
than
just
having
you
read
it,
so
I'm
not
going
to
look
at
it.
There
is.
There
is
there's
one
way:
we
when
you
walk
up
to
a
subscription
manager
and
say
hey,
please
give
me
events,
here's
an
end
point,
that's
what
we
discussed
so
far
and
and
all
the
things
that
you
have
in
your
examples
are
true
for
all
of
the
different
channels:
http
and
mqtt,
and
kafka
and
amkp.
H
If
the
delivery
is
push
meaning,
if
the
delivery
is
initiated
by
the
subscription
manager
or
the
delivery
agent
of
the
subscription
manager,
meaning
the
delivery
manager
actively
opens
up
a
connection
and
then
starts
pushing
events
through
that.
That's
that's
push
delivery.
The
subscription
manager
initiates
the
the
delivery
that
is
suitable
for
all
the
scenarios
where
you
have
serverless.
H
We
still
are
here
scale
to
zero
scenarios,
where
the
resource
is
dormant,
there's
only
some
endpoint,
which
is
listening,
and
then
you
open
up
a
connection
into
that
endpoint.
You
start
pushing
events
to
it
and
then
the
machinery
on
the
other
side
wakes
up
loads,
the
required
code,
and
then
this
dispatches
that
event.
That's
that's
why
push
delivery
is
so
attractive
for
for
serverless.
H
It
also
allows
you
to
go
and
do
you
know
classic
hdp
style,
traffic,
balancing
load
balancing,
because
you
can
basically
just
go
meter
the
number
of
requests
that
you're
getting
and
then
start
start
up
new
new
resources.
So
push
delivery
is
great.
For
that
pull
delivery
is
more
what
you
do
in
classic
messaging
system,
where
you
are
effectively
hanging
on
a
queue
or
you're
hanging
on
a
kafka
topic,
and
you
continuously
start
pulling
events
out
for
that
mechanism.
We
don't
have
to
go
and
invent
anything.
H
Then
the
gesture
to
subscribe
to
those
events
is
exactly
that
of
mqtt,
which
means
you
use
the
mqtt
subscribe
gesture,
the
the
the
protocol
gesture
and
and
and
then
on
the
topic
where
you
subscribed
in
mqtt.
H
The
events
that
you
that
you
want
will
come
out
and
then
the
question
is
there:
how
do
we?
How
do
we
map
some
of
the
constructs
that
we
have
here,
like
our
filtering
capabilities,
etc?
How
do
we
map
those
onto
mqtt
and
there
will
be
constraint
naturally
by
the
capabilities
of
mqtt,
because
you're
choosing
the
pro
the
protocol,
and
so
you
have
a
constrained
set
of
of
ways
and
one
way
or
the
other
what
you're?
H
Choosing
of
what
the
broker
already
gives
you
in
in
amqp,
that's
the
same
thing
you
create
a
you,
create
a
node.
The
node
has
a
distribution
policy
of
copy
that
is
equivalent
to
a
topic
in
mqtt,
and
you
open
the
link
into
it
and
then
messages
flow
out
in
kafka.
You
create
a
consumer
group,
implicitly
you
attach
to
the
consumer
group,
and
once
you
have
a
consumer
group,
you
get
effectively
a
a
copy
of
your
own
stream
or
your
own
copy
of
the
stream,
where
you
can
then
make
progress
on
that
stream.
H
A
H
H
A
H
I
I
I
specifically
made
this
the
sentence
above
the
amputee
says:
it's
non-normative,
I'm
basically
just
mentioning
those
because,
because
it's
I
think
it's
not
up
to
us
to
go
and
you
know
config
define
what
a
broker,
what
a
broker
should
look
like,
and
I
think
it's
not
up
to
us
and
also
not
in
our
powers,
really
to
go
and
say
kafka
should
go
in
and
deal
with
pop
sub
in
the
following
way.
Just
because
the
events
are
cloud,
events
or
or
mqp
or
mqtt
should
do
it
in
this
particular
way.
H
Where
we
can
go
where
we
can
influence
things
is,
is
in
this
push
model
because
they're
effectively
the
description
manager
acts
as
a
client,
and
there
is
that's
that's
why
we
have
our
own.
H
R
Yeah,
so
in
general,
I
completely
agree
to
clements.
We
just
have
some
edge
case
and
might
be
out
of
scope
for
the
specification
here,
but
in
some
cases
you
might
still
want
to
have
this
subscription
api
based
on
cloud
events,
because
the
the
other
end
is,
in
addition
to
just
I
mean,
is
creating
actually
some
endpoint,
for
example,
for
amqp,
let's
say
a
queue
and
and
configuring
this.
So
you
would
then,
as
a
result
of
this
subscription
api
call
get
something
like
a
queue
configured
and
then
do
again
the
pull
style.
Consumption
on
that.
H
H
And
that
I
think
that
would
be,
that
would
be
in
the
there
would
be
an
option
in
the
push
style,
delivery
model.
H
A
H
Okay,
so
so
this
one
might
be
an
option
in
the
option:
first,
in
the
mqp
protocol
settings
and
in
the
entity
protocol
settings
where
you
say
so
in
mqtt,
it's
actually
implicit
where
you
say
you
know
if
the
queue
doesn't
exist,
go
and
create
one
okay
and
then
and
then,
and
but
that's
that
is,
that
is
the
end
of
it.
H
C
Manual
your
hands
up:
yes,
I'm
not
sure
if
we
have
a
common
understanding
on
this
topic,
because
I'm
looking
at
the
sample
subscribe,
you
put
for
the
kafka
subscription
manager
and
there
it
says
consumer
group
as
a
config
parameter
and
also
from
what
I
heard
from
klaus.
C
It
sounded
as
if
the
subscription
creates
some
sort
of
a
cue
for
the
subscriber
to
consume
from-
and
this
is,
I
think,
a
misunderstanding,
because
even
though
it
is
called
the
pull
style
protocol
model
and
the
the
delivery
of
these
brokers
is
pull
style
to
consumers,
always
because
consumer.
Of
course
it
connects
to
the
broker
and
then
pulls
messages
out
of
it,
but
as
clemens
described
it.
C
H
Yeah,
you
are
absolutely
correct.
There
are
two
things
here
so
so
the
example
that
that
is
here
that
we're
looking
at
is
wrong,
because
we
will
be
only
configuring
to
send
to
a
so.
This
would
be
effectively
setting
up
a
push
delivery
into
a
kafka.
That's
what
we
would
set
up
with
it
with
an
http
call.
H
We
would
not
be
setting
up
like
if
the
subscription
manager
were
a
kafka
broker.
We
would
not
be
using
that
gesture.
We
would
just
simply
be
attaching
to
the
consumer
group
and
and
and
use
kafka
native
mechanisms.
So
that's
right.
So
that's
the
first
thing.
The
second
thing
that
we
said
so.
A
So
wait:
okay,
wait.
Wait,
wait!
Wait!
Just
let
you
know.
First
of
all,
I
don't
doubt
everything
I
have
here
is
wrong.
However,
keep
in
mind
this
was
not
written
with
I.
This
was
written
with
k
native
in
mind
in
the
sense
that,
if,
if
I
wanted
to
subscribe
to,
in
essence
a
k-native
or
I
want
to
create
a
k-native
event
source
which
that
event
source
is
going
to
be
the
one
that's
going
to
be
pulling
from
kafka,
but
then
delivering
things
to
me
over
http.
A
H
Okay,
great
so,
okay,
so,
okay,
I
understand
that
now
that
makes
that
makes
a
little
confusing,
but
I
understand
that
now
yes,
yeah
yeah,
you're
you're
you're,
now
throwing
in
some
some
some
overlapping
concepts,
because
this
is
what
you
have
in
config
here
is
completely
a
concern
of
k-native
and
something
that
nobody.
This
is
an
internal
implementation
detail.
Q
A
World
today,
when
I
say
hey,
I
want
to
get
events
from
kafka.
I
set
up
an
event
source
and
I
can
I
basically
give
it
this
information
yeah,
okay,
but
then
I
have
to
tell
it
where
to
send
it
to,
and
that's
what
does
here.
So
this
is
the
exact
equivalent
of
a
native
event
source.
I
just
put
it
into
our
syntax.
H
Okay,
okay,
so
that
then
the
number
said
that
yes,
so
that
was
the
so
so
if
you
were
just
if,
if
there
are,
if
you're,
using
kafka
as
your
pop-up
engine
and
and
what
we
do
with
the
subscriptions
api
is
we
want
to.
We
want
to
facilitate
subscription
management
effectively
right
for
in
an
upper
interoperable
fashion,
and
if
your
subscription
engine
is
an
nqp
broker
or
an
mpt
broker
or
kafka,
then
well,
you
have
a
subscription.
H
You
have
a
you,
have
a
pop-up
engine
right
there
and
if
you,
if
you
are
building
this
with
rest
htp
as
we're
doing
here,
then
we
need
to
go
and
effectively
add
the
the
the
pops
up
engine.
If
you
will
to
as
a
as
a
thing
and
we
need
to
make
sure
that
the
the
pops
up
engine
is
interoperable.
That's
what
we're
doing
here.
So
that's
the
the,
but
we
don't
need
to
do
this
for
for
for
pops
up
engines
which
people
already
have.
H
That
was
my
intent
here
in
terms
of
of
what
we
just
discussed
earlier
with
you
know,
being
able
to
create
a
queue
on
the
fly
and
then
deliver
into
it.
H
That's
something
that
is
that
you
do
implicitly
in
mqtt
and
that
you
might
also
do
in
mqp
is
that
if
you
allow
dynamic
entities,
then
you
can
go
deliver
into
something
that
doesn't
exist
and
then
the
the
queue
or
the
topic
will
then
come
into
being
so
so.
Yes,
the
the
subscription
can
cause
a
cue
to
appear
that
hasn't
appeared
yet,
but
the
broker
obviously
need
to
exist.
A
A
The
fact
that
we
even
talk
about
mqtt
and
nats
and
other
stuff
is
interesting,
but
it
really
has
no
effect
on
the
spec
itself
right,
because
I
think
what
you're
basically
saying
is
our
spec
is
all
about
push
style
delivery,
because
any
kind
of
pull
style
delivery.
Well,
they
already
have
it
defined.
We
don't
need
to
touch
it.
H
Yeah
the
reason.
The
reason
I
put
that
in
here
is
that
I
know
how
this
goes
and
and
people
will
say
now.
I
have
to
go
and
build
all
this
complicated
around
my
my
kafka
broker
to
be
compliant
with
cloud
events,
so
so
I
want
I
want.
I
want
to
make
make
it
clear
that
our
intent
that
the
intent
of
this
group
is
no?
H
No,
no
don't
do
this,
use
the
kafka
mechanisms
they're
fine-
and
this
is
that
that's
that
this
is
effectively
in
the
smack
in
the
middle
of
the
spec,
a
a
clear
hint
that
you
don't
have
to
go
and
construct
any
of
that
stuff.
If
you
already
have
have
a
pop
up
engine
and
if
you're
fine
with
using
mqtt,
npp
and
kafka
protocols,
if
you
want,
if,
if
your
world
is
http
rest
and
that's
all
you
do
and
you're
and
you're
living
in
rpc
world.
Well,
then
you
have
problems
with
directionality.
H
We
gave
people
a
choice
of
what
five
protocols
right:
nats,
app,
mqtt
kafka
and
http,
and
for
how
to
go
and
map
those
things
and
and
four
of
those
have
native
pop-up
mechanisms
while
hdp
does
not,
and
so
what
we're
doing
is
effectively
we're
making
the
hdp
world,
which
is
the
biggest
the
biggest
world
of
them
all
where,
where
we're
helping
that
world
to
kind
of
come
to
terms
with
pub
sub,
but
then
at
the
same
time
we're
saying,
let's
not
invent
top
pops
up
for
the
other
worlds.
H
That's
that's
the
motivation
for
having
that
here,
because
because
I
can
bet
that,
if
we
don't
include
this,
if
we
don't
make
that
clear
that
all
all
kinds
of
folks
are
going
to
build
weird
contraptions
around
these
brokers
just
to
be
compliant
with
cloud
events
and
that's
what
I
want
to
avoid.
Okay,.
A
H
A
Q
I
don't
necessarily
have
an
opinion,
but
I
have
a
question
for
clements,
so
so
for
our
company.
What
we
sometimes
want
to
do
is
build
integrations
that
are
basically
event:
consumers,
they're
open
source,
so
people
should
install
them
in
their
own
system,
run
them
maybe
modify
them
to
make
fit
for
their
use
case
and
then,
depending
on
who
the
customer
is,
they
usually
have
their
thing
set
up,
so
they
may
have
kafka.
Q
They
may
use
something
from
the
cloud
provider
so
that
they're
kind
of
set
up
already.
So
we
think
cloud
events
would
come
in
there
really
well
to
yeah
abstract
over
those
layers
for
us
so,
but
in
that
case
also
part
of
this
is
that
we
know
what
to
subscribe
to.
So
that
would
always
be
the
same.
So
if
we
had
so
basically
what
I'm
saying
all
this,
what
do
you
label
all
the
around
kafka
and
so
on?
That's
actually
what
would
be
useful
for
this
case
yeah?
What
I
hear
you.
H
You
know
why,
because
you
set
up
a
kafka
server
to
do
ten
thousand
a
hundred
thousand
events,
a
second
that
is
very
different
from
being
called
a
hundred
times,
a
second
on
an
http
endpoint.
It's
just
a
different
story
like
all
so
event,
flows.
H
Q
E
Q
H
But
for
that
case,
but
I
mean
if
a
com,
if
you
have
a
customer
who
says
okay,
we're
doing
everything
in
kafka,
you're,
okay,
because
you
have
a
common
way
of
how
how
to
express
events,
and
then
you
only
have
one
api
and
one
mechanism
for
how
you
get
those
events,
and
that
is
kafka
and
and
with
this
document
as
it
stands,
you'll
be
okay
with
cloud
events,
because
we
say
kafka
is
a
fine
way
to
go
and
deliver
cloud
events.
You'll
be
okay,.
Q
Right
but
basically
we
still
have
to
do
for
each,
for
example,
for
kafka.
We
have
to
say
this
is
how
you
subscribe,
and
then
we
have
to
do
the
same
for
each
other
protocol.
Well,.
H
H
Just
for
our
cue
right,
that's
that's!
That
is
already
really
complicated
and
we
can't
like.
We
can't
agree
on
on
those
things
for
for
something
like
like
kafka,
because
for
kafka,
the
apache
kafka
project
equals
equals
confluent
they're
running
away,
they're
running
ahead
with,
with
whatever
the
kafka
api
is,
and
then
there
is,
you
know,
pulsar
and
there's
azure
event,
hubs
and
there's
kinesis
and
they
all
look
different
and
having
a
common
api
across.
H
Q
Place:
okay,
thanks
for
your
thoughts,
I
think
we
can
discuss
it
forever.
Well,
thanks.
A
Yeah,
so
I
just
realized
that
technically
we're
ten
minutes
over
for
the
discovery
interrupt
call.
So,
let's
just
quickly
does
anybody
have
any
topics
they
want
to
bring
up
for
the
discovery
interop,
I
suspect
everybody
is
either
busy
or
clements
are
still
coding
away,
but
is
there
anything
people
want
to
bring
up.
A
A
That
was
it
in
terms
of
what
I
wanted
to
walk
through,
in
terms
of
a
concrete
example
to
to
try
to
force
us
to
have
just
some
discussions
and
come
up
with
some
design
points,
and
I
think
we
came
up
with
a
whole
bunch
of
things
that
I
guess
I
I
have
the
action
that
will
create
some
pr's
for
these
things
to
try
to
get
them
in
this
spec.
A
Are
there
other
scenarios
that
people
would
like
to
walk
through,
either
today
or
next
week?
That
would
warrant
us
needing
another
three
hour
phone
call
or
starting
next
week?
Should
we
go
back
to
our
normal
one
hour
phone
call.
A
A
Okay,
so
as
of
right
now,
any
objection
then
to
canceling
the
three-hour
phone
call
for
next
week
and
going
back
to
our
regular
one-hour
one,
okay
and,
like
I
said
I'll,
take
the
action
item
to
write
up
the
pr's
or
issues
or
whatever
around
these
things
and
see
how
we,
how
we
like
it
once
it's
actually
in
pr
form.
A
C
A
C
No,
no,
I
think
you
raised
a
very
interesting
point
with
the
example
you
gave
with
the
native
subscription.
C
So
until
now
I
was
under
the
impression
that
configuration
is
really
only
about
the
subscription
towards
the
consumer,
so
that
always
the
subscription,
because
if
I
look
up
an
event
or
let's
say
a
service
in
the
discovery,
and
I
get
the
subscription
url
to
which
I
point
my
subscription,
I
only
tell
it
how
I
want
the
events
to
be
delivered
if
it
supports
http.
C
I
can
have
this
push
style
delivery
to
my
consumers
and
if
it's
kafka,
then
I
know
it
can
produce
into
my
kafka
cluster,
but
the
configuration
you
gave
here
telling
the
subscription
manager
how
to
obtain
the
events
from
another
source.
That
was
a
bit
baffling
to
me.
So
that's
what
it
was
intended
right.
I
I
overlooked
that
the
protocol
selection
was
http
and
then
it
gave
a
kafka
configuration.
C
So
this
would
to
me
sounds
like
a
very
generic
subscription
manager.
I
could
more
like
a
an
adapter
really
where
I
tell
okay,
do
subscribe
to
there
and
deliver
everything
by
http
or
the
other
way
around.
C
Is
that
even
a
real
case?
Is
this
part
of
the
subscriptions
api,
something.
A
So
I
I
think
the
way
you
described
it
is
the
way
I
had
in
my
mind
because
to
me
that's
exactly
what
k-native
does
right,
these
little
event,
sources
that
you
can
create
in
k-native
to
me,
they're
like
adapters
right,
it's
saying,
hey,
go
manage
this
event
producer
for
me
or
talking
to
this
event
producer
for
me
and
in
this
particular
case,
the
event
producer
or
that
they've
been
producer.
But
the
thing
where
I'm
going
to
get
the
events
from
is
a
kafka
queue
right,
and
so
this
is.
A
This
is
how
I
want
the
k-native
infrastructure
to
talk
to
kafka
for
me,
but
once
it
gets
those
events,
it's
going
to
send
it
to
me
over
http.
So,
yes,
it
is
like
an
adapter
and
whether
it
makes
sense
or
not
to
set
up
this
adapter
via
a
subscription
thing.
I
don't
know.
I
just
thought
it'd
be
interesting
to
see
what
it
would
look
like
if
you
tried
to
model
it
that
way
and
if
we're
going
to
model
it
that
way,
I
couldn't
think
of
any
other
way
to
specify
this
three
bits
of
information.
C
Up
where
I
did
so
in
a
classical
sense,
it
would
be
a
subscription
to
a
kafka
or
a
sorry
subscription
to
a
subscription
manager
that
can
produce
events
through
a
kafka
and
channel,
and
then
you,
I
would
point
it
to
my
little
events.
Oh
my
k
native,
does
it
come
with
the
broker?
That's
the
question
I
mean
canadians
really
can
only
consume
and
then
give
the
events
deliver.
The
events
as
an
http
push,
but
it's
not
operating
the
kafka
cluster,
isn't
that
right.
A
A
C
So
then,
my
question
to
clements
would
be,
since
we
have
the
consumer,
solicited,
pull
style
and
the
push
style.
Is
there
a
certain
thing
where
there
is
a
pole
style
that
is
not
consumer?
Solicited.
H
I
no
there
is
not
because
those
it's
meant
to
be
a
synonym.
It's
we
have
the
reason.
The
reason
why
this,
why
this
a
little
bit
high
nose
term
consumer
solicited
exists,
is
because
we
are
already
had
disputes
about
the
terms,
pull
style
and
bush
style,
and
so
therefore
I
I
use
that
as
a
clarification
term,
that
someone
has
initiated
the
initiating
the
delivery
and
to
make
clear
what
what
pull
and
push
means.
H
C
Okay,
it's
my
understanding,
then
correct
that
the
broker
address
is
still
something
identified
by
the
sink,
and
it's
something
that
is
provided
by
the
consumer.
H
Yes,
so
so,
this
is
why
this
is
why
I
was
this
is
why
I
was
telling
doug
this
might
be
confusing,
because
you
are
being
confused
by
it.
H
The
the
the
kafka,
the
kafka
thing
here
in
this
in
this
very
example-
you
should
ignore
this,
because
it
has
nothing
to
do
with
kafka.
It
is
simply
about
how
the
implementation
of
this
particular
subscription
manager
turns
around
on
its
backside
and
goes
and
grabs
events
from
kafka
that
it
will
then
go
and
push
deliver
to
this
http
endpoint
from
a
cloud
events
perspective,
the
config
that
that
that
you
see
here
has
no
function
whatsoever.
This
is
purely
just
to
inform
some
internal
implementation
of
how
to
go
and
get
get
some
events.
C
You
repeat
that
yeah
it's,
I
think
this
case
is
not
for
the
subscriptions.
A
Api-
well,
let's
put
it
this
way.
I
I
would
agree
with
you
that
this
is
probably
not
a
driving
use
case
to
define
our
specification.
Okay.
However,
I
think
this
is
a
valid
use
of
our
specification.
If
someone
chose
to
do
it
that
way,.
C
Yeah
so
when
you're
coming
from.
C
M
C
A
A
The
definition
of
the
config
section,
though,
is
up
to
the
subscription
manager
right
because,
even
in
even
in
our
github
case,
well,
we
don't
have
any
config
anymore
right,
but
let's
say
there
was
a
config
event
in
github
right
in
order
to
understand
that
you
have
to
understand
the
discovery,
entry
for
github
to
know
what
those
config
values
mean
right
because
the
discovery
endpoint.
Let
me
see
if
I
can
find
it
here.
The
discovery
endpoint
gives
you
the
name,
and
it
gives
you
the
type
right,
but
that's
it
to
understand
what
that
actually
means.
A
You
have
to
go
manually.
Go
look
at
the
specification
for
that
field
to
understand.
Oh,
the
word.
Org
means
github
organization
right,
so
it's
not
something
you
can
programmatically
fill
in
right
unless
this,
unless
you
happen
to
know
in
advance.
Oh,
the
url
points
to
this
thing
and
and
therefore
I
know
what
it
means
right,
but
if
it's
a
brand
new
url
yeah
as
a
person
you're
going
to
have
to
go,
read
it
and
go
understand
what
it
means
to
use
this
particular
this
particular
name
inside
config
and
so
whoop.
A
C
All
agreed,
I
guess
that's
my
background,
trying
to
discover
services
and
subscription
urls
that
I
could
pull
or
get
events
from
in
an
automated
fashion,
but
subscription
config
is
just
as
you
said,
it
is
specific
per
service
and
it
requires
developer
work
to
actually
consume
these
events.
Correct.
A
C
No
not
the
entire
time
hopefully,
but
there
is
something
and
if
I
may,
just
temporarily,
I
paste
it
under
clemens's
edition
a
little
bit
on
the
top.
Oh
now
it
comes
with
vs
code
coloring.
Sorry,
for
that.
C
Just
this
thing
right
here,
yeah
not
even
shows
the
syntax
highlighting
I'm
seeing
but
okay.
So
I
had
a
look
at
this
flattening
of
the
dialect
and
when
you
compare
the
first
two
in
all
it
to
me,
it
doesn't
really
add
a
lot
sorry
of
clarity
to
the
specification
because
we're
adding
a
nested
object
where
we
had
just
two
parameters
in
parallel
and
then
my
question
following
that
optimization.
I
agree
it
reads
nicely,
so
we
you
can
read,
sql
condition,
type
equals
and
so
on.
C
E
C
Please
go
down
a
bit
if
we
said
okay
basic
is
just
an
indirection
of
specifying
one
of
the
three
matching
types,
exact
prefix
and
suffix.
We
could
flatten
it
even
further
and
say
take
the
property
that
we
want
to
compare
as
the
parameter
name
so
here
type
and
put
the
value
in
the
value
section
of
that.
So
we
can
have
an
exact
matching
on
type
com,
github
issue
or
a
prefix
equivalent
with
com
github
and
the
suffix
equivalent.
A
H
H
Yep,
that's
actually
not
terrible,
that's
that's.
We
have
an
exact
filter
or
prefix
filter
and
suffix
filter
and
a
secret
sql
filter
so
effectively
we're
now
which,
which
mirrors
effectively
the
amkp
model.
Where
you
only
have
you
don't
deal
in
dialects,
but
you're
dealing
individual
filters
and
then
you
can
just
go
and
compose
the
filters.
I'm
fine
with
that.
C
I
just
wanted
to
bring
it
up
and
yeah
to
be
considered.
That's
all
yeah,
that's
a
bad
idea.
It's
good.
A
Yeah
so
tell
you
what,
since
I
took
the
action
on
it,
sort
of
write
up
what
what
the
old
versus
new
format
would
look
like
I'll
I'll
go.
You
know
to
the
to
the
extreme
that
you're
showing
here
and
and
see
what
people
think
it's
a
very
interesting
way
to
go.
A
A
G
Go
ahead
eric,
so
do
you
have
any
examples
in
this
of
subscriptions
where
you're
not
expressing
configuration
over
a
single,
hop
and
and
to
be
a
little
more
explicit
about
what
I
mean?
G
We've
been
talking
for
a
long
time
about
this
potential,
multi-middleware
delivery
scenario
and
being
able
to
have
you
know
multiple
protocols
switched
in
and
out
and
and
when
I'm
looking
at
the
config
sections
that
you've
been
declaring,
they
seem
to
be
pretty
much
implying
exactly
what
a
single
and
uniform
path
that
the
subscription
is
delivered
through,
and
I
and
that's
it's
probably
poorly
stated,
but
bear
with
me
for
a
second
if,
if
the
the
reality
is
far
more
complicated
behind
the
scenes,
but
I
want
to
receive
some
set
of
events
through
some
unknown
complicated,
perhaps
inconsistent
ae.
G
Sometimes
some
events
come
through
one
set
of
technologies.
While
another
of
the
events
come
through
another
set
of
technology,
I
don't
know,
I'm
I'm
being
kind
of
hand-wavy,
but
I
think
these
are
the
harder
cases,
something
that,
as
a
user
I
want
to
be
able
to
specify
is
something
like.
I
would
like
the
an
order
guarantee
over
the
events
that
the
order
they
were
that
they
are
recorded
in
the
upstream
sources,
is
the
order
that
I
will
see
them
as
a
downstream
consumer.
G
Anyway,
so
the
the
question
is,
do
we
have
do
you
have
any
examples
where
you're
looking
at
scenarios
like
this,
because
I
think
they
may
be
using
destructive
for
bringing
up
some
important,
and
you
know
ongoing
design
decisions.
A
G
I'm
still
holding
all
of
exactly
where
things
are
a
little
loosely
it.
It
still
seems
to
me
that
a
lot
of
what
you're
declaring
in
config
is
is
really
a
filter
and
that
the
source
and
types
are
in
themselves
filters,
but
anyway,.
G
The
the
kind
of
considerations
and
concerns
that
are
being
properly
expressed
in
their
that
are
really
the
real
kind
of
expressing
the
real
needs
of
the
subscriber.
I
I
think
that
making
sure
that
those
are
present
present
and
accounted
for
is
is
of
a
higher
priority
than
how
we
factor
it
all
in
there.
F
A
Right
and-
and
I
kind
of
then
took
that
that
thought
process
to
an
extreme
and
basically
said
well,
everything
is
just
a
top-level
thing
right
and
you
just
basically
specify
a
whole
bunch
of
different
properties
just
to
tell
the
the
event
manager
or
the
subscription
manager
what
you
want
to
have
happen
right
and
whether
it's
a
protocol
thing
versus
a
filter
thing
versus
config
thing.
They
don't
know
they
don't
care
it.
Just
you
know,
there's
a
property
to
find
that
you
need
to
fill
in.
A
That
says,
hey
make
this
semantic
happen
right
and
trying
to
categorize
things
was
kind
of
silly.
The
same
way,
we
got
rid
of
buckets
entirely
in
cod
events
right
because
I
argued
it
was
silly
to
try
to
to
define
a
foo
in
one
bucket
to
mean
something
different
to
being
a
different
thing
from
a
foo
in
a
second
bucket
right.
That
was
just
going
to
be
really
confusing.
So
why
not
move
everything
to
top
level
and
just
pick
a
better
name
than
foo?
A
That
way,
it's
more
descriptive
and
I
kind
of
wondering
whether
you're
poking
on
the
same
thing
here,
which
is
you
know
why
are
we
having
all
these
buckets?
Is
that
kind
of
where
you're
headed
with
all
this.
G
I
I
think
this
is
the
the
much
less
important
point
whether
whether
source
and
types
are
elevated
into
a
top
level
or
part
of
the
filters
I
mean,
there's,
there's
fundamentally
a
specification
of
what
information
you
want
to
receive,
and
that's,
and
but
there's
also
a
question
of
how
do
I
in
the
very
last
hop
want
to
receive
it,
and
I,
I
think
the
thing
that
I'm
asking
about
trying
to
be
more
useful
because
I'm
bringing
a
lot
to
the
table.
G
That's
very
specific
to
me
and
I
apologize
for
that,
but
there's
an
important
consideration
of
there
is
a
lot
that
can
happen
during
the
original
production
and
then
delivery
to
me
in
that
last
hop
and
as
a
consumer
of
events.
G
I
me
personally,
I
have
some
very
strong
opinions
about
what
I
want
to
be
guaranteed
through
that
entire
delivery
chain.
Now
you
know
my
bias
here
is
I'm
really
kind
of
obsessive
about
order
order
is
equivalent
to
consensus
and
you
can
achieve
it
without
any
consensus,
algorithm
or
coordination.
If
you
can
maintain
order
throughout
the
entire
system
and
where
there
are,
you
know,
uncorrelated
orders,
you
create
a
join
of
event
streams
in
order
to
mainta
to
establish
causal
order
between
events
and
and
therefore
you
know
anyway.
This
is
the
sort
of
stuff.
G
I
I
spend
a
lot
of
brainpower
thinking
about,
because
I
really
like
the
notion
it
ticks
my
brain,
but
that
means
that
I
have
really
strong
opinions
about
what
I
want
from
a
subscription
and
particularly
that
I
wanted
to
maintain.
Give
me
an
order,
guarantee
a
guarantee
that
the
order
originally
observed
will
be
maintained.
G
So
you
know
this
is
why
clemens
I
use
event
hub
and
hate.
What
is
it
the
other
one,
the
the
ones
you
guys
always
a
great
grid?
You
push
a
lot,
or
at
least
the
marketing
pushes
a
lot,
but
I
I
use
that
because
of
this
order
guarantee
and
the
way
that
that
drives,
how
my
systems
behave
and-
and
while
I
can
specify
the
last
hop
cloud,
events
allows
in-
or
at
least
what
I'm
seeing
specified
here
in
the
last
hop
cloud.
G
So
you
know
I'm
being
very
indulgent
here.
The
real
thing
is,
you
know
the
question
was
you
know,
do
you
have
any
of
those
scenarios
here
because
I
think
they'll
be
instructive
for
the
sorts
of
things
as
we
define
cloud
events
and
thought
about
it
and
talked
about
it
in
the
past
that
we
should
probably
bring
to
bear
because
they
really
show
up
in
the
subscription
and
delivery.
A
G
Right
is
it
that
you
think
maybe
this
is
the
question
is
to
say
this.
I
think
this
is
a
really
valuable
exercise
that
these
examples
of
that
caused
us
to
ask
some
important,
concrete
questions
and
bring
some
of
the
fine
distinctions
to
bear,
and
I
I
was
saying
kind
of
yes-
and
I
think
this
kind
of
more
advanced
case
might
be
something
that
needs
to
be
considered.
A
Okay,
yeah-
and
I
think
that
goes
to
what
I
was
asking
earlier,
which
is
hey
guys.
Think
of
other
examples
that
we
want
to
walk
through,
and
I
think
the
ones
that
are
rattling
around
in
your
head
are
great
examples.
So,
if
you
can
write
so
take
take
dig
one
of
the
examples
that
you
were
just
talking
about
right
and
write
that
down
into
a
doc
and
say
this
is
how
you
would
you
would
model
it
right.
A
This
is
what
you
would
expect
your
subscribe
to
look
like
to
get
the
thing
that
you're
just
describing
with
you
know,
guaranteed
order
delivery,
whatever
it
might
be,
and
let's
walk
through
it
and
see
what
falls
out
of
that.
Maybe
it'll
be
a
very
short
discussion,
because
what
you
write
down
is
exactly
the
way
everybody
else
would
have
done
it.
It
makes
perfect
sense
or
we
end
up
in
a
rat
hole.
Discussion
like
we
have
for
the
last
two
weeks
or
three
weeks,
and
we
have
to
make
some
design
change
to
the
spec.
G
It
sounds
like
I'm
not
getting
out
of
writing
that
user.
I
started
doing
it
last
week
and
ate
most
of
my
day
and
had
an
awkward
stand
up,
but
I
I
guess
I'm
doing
some
again.
A
A
H
So
so
we
have,
I
think
we
have
a
pretty
complicated
scenario
and
we
will
be
happy
to
talk
about
this
with
as
much
detail
as
we
can.
Obviously
there
is
some
there
will
be
some
stuff
behind
the
curtain,
which
is
not
maybe
not
necessarily
all
pretty,
but
but
in
terms
of
how
the
cloud
events
flow
works
and
how
we
are
using
the
specs
to
make
sure
that
we
can
go
and
coordinate
this.
We
are
both
pretty
well
committed
to
make
sure
that
that
all
happens
in
the
standard
way.
H
I
think
we're
both
realistic
about
having
to
cut
some
corners,
given
that
we
have
to
go
and
ship
something
by
whatever
I
think
august,
but
we
will
certainly
be
able
to
go
and
tell
you
some
what
we're
doing
with
the
specs
or,
for
instance,
the
discovery
documents
already
can
tell
you
there
will
be
and
that's
something
we
discussed
yesterday.
My
assumption
is
that
there
will
be
discovery
documents
and
what
I
mean
document.
H
It's
the
get
all
from
the
discovery
service
will
be
created
somehow
in
the
sap
system,
then
we
will
get
it
somehow
and
then
we
will
go
and
take
that
same
discovery
document
and
partially
rewrite
it
and
and
and
republish
it.
H
But
I
can't
tell
you
what
to
see
what
the
details
of
those
are
yet,
but
but
the
the
the
scenario
that
we
have
is
we
have
a
a
large
sas
system,
one
of
the
largest
sas
systems,
which
wants
to
go
and
publish
events,
and
we
need
to
go
and
turn
that
into
a
fire
hose
of
sorts
and
then
split
that
firewalls
up
by
dispatching
it
into
into
azure
subscriptions
and
and
the
mechanics
for
that
are
all
going
to
be
based
on
the
specs
that
we're
developing
here.
H
A
So
eric
back
to
your
thing,
if
you
can,
you
know,
write
up
a
scenario
that
we
can
walk
through
to
make
sure
it's
makes
sense
and
satisfies
your
use
cases
and
leads
to
more
discussions
about
whether
the
spec
is
right
or
wrong
like
that,
I
think
that'd
be
good,
sure,
okay,
okay,
anything
else,
people
want
to
bring
up.