►
From YouTube: Verify Technical Discussions 2021-01-21 - Pipeline Editor and CI/CD data storage architecture
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
Hello,
hi
all
sorry,
I
was
trading
desks
here
at
home
and
it
took
a
little
bit
more
time
than
I
thought
so
I'm
here
on
a
standing
desk,
okay,
so
yeah.
So
the
topic
I
had
for
the
for
the
last
time
was
regarding
the
editor,
and
what
I
wanted
to
ask
team
was:
what
were
your
thoughts
on
continuous
linking?
B
So
basically,
what
we're
doing
right
now
with
the
editor
is
that,
as
you
type
on
the
on
the
pipeline
yamo,
you
will
get,
you
will
go
and
fetch
resources
from
the
backend
that
tell
you.
If
the
link
is
correct
or
not,
and
then
you
will,
you
actually
will
invoke
the
graphql
api
for
all
the
jobs
and
all
the
configuration,
and
then
we
will
display
it
in,
although
it
will
display
it
in
another
tab.
B
All
this
information
will
still
be
loaded,
and
this
is
the
information
that
is
used,
for
example,
to
display
the
the
pipeline
graph
and
also
to
tell
the
user
if
the
yaml
is
valid.
So
I
think
fabio
is
a
the
question
in
another
issue
in
an
issue
where
he
said.
Is
this
something
that
will
be
performant?
Is
this
something
that
we
want
to
do
or
do
we
want
to
find
another
approach?
B
C
B
So
this
is
the
editor
for
the
current
gitlab
hitler
piano.
So,
as
you
can
see
here,
we
are
loading
the
information
about
the.
B
Is
it
cached,
that's
cool
yeah,
so,
as
you
can
see,
I'm
making
requests
to
the
graphql
api
that
tell
us
basically
all
the
information
about
the
pipeline.
So
I'm
gonna
here
here
are
all
the
stages,
of
course,
for
a
project
like
gitlab.
It
can
be
quite
extensive
and
this
is
happening
on
every
request.
So
of
course,
there's
chance.
There's
opportunities
for
optimization
here.
D
I
I
have
like
one
question
like:
can
it
happen
that
you
fire,
like
10,
requests
concurrently,
that's
going
to
be
executed,
or
is
it
like?
You
wait
for
one
request
to
finish
before
you
fire
another
one.
B
No,
so
I
think
we're
triggering
requests
every
time
and
then
we're
not
waiting,
but
of
course
so
on
the
front
and
in
principle
we
we
can
do
all
these
optimizations,
I
think
from
also
we
can
delay.
We
can
wait
a
bit
more
right.
D
To
be
honest
with
you
from
my
perspective,
it's
great
especially
that
like
ben
sarah
can
use
exactly
what
you
are
receiving
to
build
a
pipeline
graph
and
visualize
that,
alongside
because
you
already
have
the
data
exactly
basically
like,
like
you,
can
have
it
side
by
side
right
now
and
like
be
updated,
live
yeah,
at
least
from
my
perspective,
like
the
only
concert
that
I
may
have.
It's
really
like
you
have,
like
probably
the
example
that
doesn't
use
includes.
Does
it
use
includes
or
not.
D
So
I
I
at
least
like
from
my
perspective.
I
think
you
should
be
cautious
about
how
many
requests
you
fire
at
the
given
moments,
because
here,
like
you,
are
kind
of
working
in
pretty
much
happy
scenario
that,
like
the
requests,
are
fast
to
execute
and
they
seem
to
be
taking
like
probably
one
and
a
half
second,
for
this
example,
but
they're
gonna
be
cases
that,
because
rico
is
gonna,
take
20
seconds
and
now,
if
you
enqueue
20
requests
every
like
character
person
writes
it's
gonna
be
pretty
severe
for
the
performance.
E
Would
it
make
sense
to
cancel
the
old
requests
that
we
don't
need,
instead
of
like
going
one
by
one
as
a
queue
like
if
you.
D
E
Well,
if
the
connection
is
dropped,
you
can
cancel
like,
like
the
database
query
or
something
like
that
as
well.
Right.
E
D
You,
like
I'm,
not
sure
if
we're
talking
about
the
same
thing
like,
but
if
you
cancel
http
connection
close
the
socket,
it's
still
not
gonna
be
with
you
by
the
by
the
transport,
because
it's
gonna
be
receive
the
help
from
the
socket
as
soon
as
you
start,
writing
feathers,
which
happens
after
processing
the
request
label
and
like
and
like
rice,
usually
do
catch
the
output
in
the
memory
before
emitting
headers
and
the
border
to
the
request.
So
yeah.
E
I'm
coming
from
the
go
word
and
the
co-word
handles
cancellation
with
contacts
and
that
automatically
happens
with
http,
so
I'm
not
sure
how
it
does
it
in
ruby.
That's
what
I'm
asking.
D
I
mean
on
the
go
like
it's
much
easier
like
to
have
this
cancellation
down
to
some
extent,
but
I
guess
it's
not
always
like
so
direct
because
like
if
you
have
those
balancers,
it
can
basically
catch.
This
tcp
socket
being
closed
and
you
may
also
not
receive
that.
D
B
Yeah,
so
one
of
the
one
of
the
things
I
I
was
thinking
about
is
that
in
principle
we
could
also
send
the
changes
that
we
do
to
the
file
somehow,
but
that,
of
course
that
requires
a
lot
more
technical
involvement
on
everybody,
because
we
have
to
let's
say
I
I
don't
know,
remove
this
line.
A
And
then
I
will
send
you.
Let
me
introduce
you
because
I
think
it's
interesting,
because
there
is
certainly
a
lot
of
room
for
improvement
here,
and
we
can
presumably
spend
a
lot
of
time
on
front
at
the
front
end
to
optimize
that.
A
It's
especially
tricky
because
it
like
might
be
a
challenge
to
understand
the
amount
of
requests
that
are
coming
from
this
particular
linter
or
pipeline
editor,
and
then
understanding
the
latency
and
the
you
know
tail
latency
for
like
the
slowest
requests,
because
people
can
put
an
arbitrary
configuration
here
and
it
can
actually
translate
to
a
latency.
That
was
not
expected.
For
example,
when
someone
is
using
a
ton
of
external
includes
yeah.
A
So
I
think
that
it's
interesting,
because
we
are
working
on
this
graphql
blueprint
here
now
and
I
wonder
if
we
could
actually
include
something
that
would
make
it
easier
for
engineers
to
understand
how
their
code
actually
performs.
Graphql
wise,
like
you,
could
go
somewhere
to
the
grafana
and
enter
like
specify
the
the
feature,
for
example
like
pipeline
editor,
and
then
you
could
see
you
know
the
histogram
of
graphql
execution,
latencies
and
stuff
like
that,
and
you
know
when
you
have
something
like
that.
A
F
Yeah-
and
this
is
brand
new
right
like
this-
has
just
come
out,
so
we
don't
really
have
any
information
or
reports
on
where
things
are
broken
or
anything
like
people
have
barely
started
using
it.
So
I
agree
but
working
to
get
the
data
and
then
seeing
what
to
optimize,
makes
a
lot
of
sense,
and
you
know
we'll
also
have
sort
of
bigger
problems
with
this.
F
Well,
not
bigger,
but
like
there
will
con,
the
issues
will
continue
to
evolve
in
the
case,
because
you
know
eventually
we'll
want
to
have
like
the
visual
editor
and
there's
like
a
lot
of
stuff
coming
up.
The
pike
that'll
have
to
do
with
sort
of
editing
these
files
somewhat
differently,
and
so
I
I
think
it
will
evolve.
The
use
case
will
evolve
as
well.
A
Yeah,
so
it's
interesting
and
I
have
a
call
of
camille
scheduled
for
tomorrow
to
talk
about
rockwell
cummings,
our
architecture,
evolution
coach
for
this,
and
perhaps
we
will
be
able
to
find
a
solution
that
will
make
it
easier
for
engineers
to
understand
how
their
features
that
are
using
graphql
are
performing
so
yeah.
I'm
hoping
that
we'll
find
some
solution
for
this.
B
Cool
thanks,
so
so
what
I
got
there
is
that
we
first
want
to
measure
the
the
outcome
of
this,
and
then
we
release
that
if
we
need
further
optimization.
A
So
yeah,
so
I
think
that
one
action
point
might
be
actually
creating
an
issue
about
understanding
how
this
particular
feature
performs
in
terms
of
the
cost
of
executing
all
these
graphql
queries.
A
It
might
be,
you
know,
a
good
idea
to
have
some
solid
data
taken
out
from
kibana,
for
example,
and
which
is
visualized
on
some
kind
of
a
graph
to
understand
that,
and
and
then
you
know
that
this
might
be
a
good
enough
evidence
that
something
something
either
under
performs
or
or
should
be
and
should
be
improved
or
like
it's
perhaps
fine
to
keep
it,
as
is
for
now
at
least.
G
H
Yeah,
I
think
I
think
this
is
also
something
that
everything
we're
saying
about.
Instrumentalizing
data
monitoring
for
graphql
requests
is
like
the
best
first
step,
because
then,
if
we
have
that
problem,
it's
a
good
problem
to
have.
It
means
people
use
our
section,
and
then
we
can
see
how
we
like.
A
For
now
so
I
added
the
link
to
the
architectural
blueprint
for
graphql
to
the
agenda.
So
if
someone
has
some
ideas,
what
we
should
include
there
over
what
is
already
there,
please
feel
free
to
contribute.
D
I
I
think,
like
in
any
case,
any
stormy
effect
of
the
feature
on
gitlab
should
be
avoided,
so
I'm
kind
of
like
emphasis
with
the
command
that
was
mentioned
to
consider
that,
like
I,
actually
have
like
very
cool,
like
simple
tests
to
perform
like
if
I
copy
paste
another
github
crm
into
this,
it's
gonna
generate
as
many
requests
as
the
characters
being
posted,
or
will
it
be
more
clever.
B
It
will
be
clever
if
I
remain
correct.
It's
a
few
hundred
milliseconds
per
per
change,
so
this
this
actually
depends
on
the
web.
Id
editor
on
the
same
editor
that
the
web
id
is
using,
which
is
called
editor
lights,
and
there
is
some
debunking,
but
it's
not
super
smart,
it's,
but
it's
not
crazy.
It's
not
gonna
overcrowd
the
request,
tab,
let's
say.
D
But
we
want
whiter
cases
like
you
create
a
storming
effect,
because
someone
can
really
do
a
very
simple
daniel
of
service
type
of
the
attack
and
like
we
have
very
limited
capacity
of
the
request
that
we
can
process
at
the
given
time,
and
we
are
kind
of
very
cautious
about
like
ensuring
that
we
don't
call
too
many.
A
Limit
like
one
request
to
graphql
per
second
and
and
enforce
this
limit
on
the
front
end
for
the
time
being,
until
we
have
some
better
monitoring
tools
for
grappler.
E
That's
what
vs
code
did
in
the
beginning
right?
They
just
didn't,
have
the
auto
save
feature
because
their
file
rating
wasn't
up
to
performance,
so
they
just
have
the
save
button
and
that's
it.
I'm.
D
E
D
A
Okay,
is
there
anything
else
you
would
like
to
discuss
about
this
lean
test,
you
type
feature,
or
should
we
like
move
to
the
next
item.
A
A
I
created
a
very
simple
scaffold
on
the
blueprint
that
there
is
no
much
in
there
yet,
but
I
wanted
to
capture
a
few
goals
we
are
having
before
this
meeting.
So
that's
why
I
listed
them
in
the
merchant
quest,
but
also
in
the
agenda,
so
the
things
that
we
want
to
achieve.
We
want
to
make
them
tangible
and
quantifiable.
A
So
the
first
thing
that
is
kind
of
urgent
is
moving
away
from
32-bit
integer,
as
a
primary
key
for
the
ca
builds
table
to
a
big
integer
that
it's
a
basically
64,
eight
bytes
large
primary
key.
A
As
far
as
remember,
we
are
over
the
40
capacity
of
the
32
bit
integer
and
perhaps
around
50
right
now.
I
I
do
not
know
exactly.
I
wanted
to
check
that.
It
means
that
we
have
some
runway,
but
the
sooner
we
start
working
on
that
the
better-
and
there
were
a
few
ideas
about
how
to
approach
that.
A
The
first
idea
we
had
a
few
months
ago
was
to
actually
work
on
the
data
data
retention
so
that
we
can
remove
all
data
from
the
database
for
pipelines
that
we
do
not
want
to
resume
and
for
four
part
lines
where
we
do
not
really
want
to
retry
any
builds.
We
would
make
them
kind
of
degrade
in
the
ui
so
that
you
cannot
retry
a
pipeline
because
it's
just
too
old
it's
one
year
old.
So
there
is
no
point
in
retrying
something.
A
Instead,
you
should
just
create
a
new
pipeline
in
your
project,
so
this
would
definitely
save
some
storage,
but
there
are
some
inherent
risks
and
the
another
idea
is
to
explore
table
partitioning.
It's
a
postgresql
feature
that
allows
you
to
partition
this
table
and
store
part
of
the
data
in
one
database.
A
Part
of
the
data
in
another
database-
and
I
I
think
this
is
also
very
interesting
idea,
something
that
the
database
team
tries
to
like.
You
know
popularize,
because
it
it's
a
very
interesting
feature
and
it
can
actually
reduce
the
amount
of
data
we
store
in
the
primary
database
significantly.
A
There
are
some
inherent
risks
here
as
well
like
whether
we
are
performing
a
queueing
of
ci
builds
using
postgresql
and
sql
queries
and
partitioning
can
kind
of
break
this
workflow
unless
we
are
diligent
enough
to
keep
all
the
builds
that
can
be
queued
on
the
primary
partition
and
many
different,
like
you
know,
concerns
and
the
challenges
here.
A
So
the
part
you
know
it's
it's
architectural
workflow
and
it's
a
very
collaborative
workflow,
so
cam
is
going
to
be
our
architecture,
evolution
coach
for
this
blueprint
as
well,
and
I
I
hope,
to
collaborate
with
fabio
who's,
a
domain
expert
and
other
people
in
the
ci
and
verify
area
to
actually,
you
know
device
a
solid
strategy
forward
for
for
this
architectural
effort.
So
yeah
do
you
have
questions.
E
A
So
basically,
we
are
relying
on
integers
everywhere
in
the
rails
code.
We
we
could
generate
some
kind
of
resource
identifier
and
it
does
not
need
to
be
an
integer.
But
right
now
in
the
ui
we
are
showing
ids
almost
everywhere,
so
that
lower
like
default
solution
for
primary
keys.
E
C
A
So
that's
a
very
good
question
and
we
honestly
I'm
not
100
sure
but
jose
fitino
is
a
domain
expert
in
in
in
this
blueprint,
I'm
talking
with
him
quite
frequently
and
trying
to
source
more
knowledge
about
how
partitioning
works
at
in
in
postgres.
A
Yeah,
so
we
we
are
going
to
have
database
team
members
involved
in
the
blueprint
as
well.
So
this
way
we
make
sure
that
the
partitioning
strategy
we
choose
is
consistent
with
what
we
are
doing
in
case
of
other
tables
and
other
initiatives
at
gitlab.
A
But
the
challenge
with
the
ci
table
ci
builds
table
is
going
to
still
be
significant
because
it's
one
of
the
biggest
tables
with
the
highest
amount
of
rows
in
there.
So
tackling
this
problem
of
primary
key
and
and
row
identifier.
It's
still
going
to
be
challenging
because
we
cannot
simply
change
the
type
it
might
be
actually
necessary
to
add
a
new
column
and
then
migrate
the
data
and
then,
after
the
next
release,
to
switch,
for
example,
the
primary
key
index.
A
So
that's
that
that
might
be
challenging
and
a
significant
amount
of
domain
knowledge
from
the
postgresql
areas
required.
So
there's
also
an
external
company
involved.
I
I
think
that
I
don't
remember
how
this
company
is
called,
but
we
do
have
a
consultants
available
to
talk
with
them
about
feasible
strategies
for
things
like
that
changing
the
type
of
primary
key.
A
So
these
people
are
also
going
to
be
involved
so
that
we,
you
know,
are
certain
that
what
we
are
doing
actually
makes
sense
based
on
how
postgresql
works
internally,
because
it
turns
out
that
it
I
had
this
the
question
a
few
weeks
ago.
A
Is
it
possible
to
just
alter,
table
and
change
the
type
is
that
going
to
work,
or
is
that
going
to
bring
the
postgresql
down
and
without
knowing
in
you
know,
in
details
how
postgresql
works?
You
cannot
answer
this
question
and,
of
course
we
are
not
going
to
check
it
on
production
right,
so
so
that
significant
domain
knowledge
is
required
here.
So
we
are
involving
consultants
and
database
team
members
with
domain.
A
Yeah,
but
I
I
think
we
can
do
it.
We
just
need
to
devise
a
strategy
for
iteration
and
not
closing
doors.
You
know
not
removing
data
until
we
know
that
we
can
safely
remove
data
and
stuff
like
that.
So
that's
going
to
be
interesting,
and
so
I'm
quite
excited
about
that.
So
if
anyone
would
like
to
help,
we
still
do
have
room
for
domain
experts
and
people
that
might
want
to
work
on
this.
So
if
you
would
like
to
help,
please
feel
free
to
reach
out
to
me
my
own
slack
and.
A
Okay,
so
the
next
item
is
the
new
grafana
dashboard
for
verify
and
continuous
integration.
If
you
click
on
the
link,
you
will
see
the
dashboard
for
the
continuous
integration
group.
A
Actually,
almost
every
group
inside
verify
has
their
own
dashboard,
but
the
continuous
integration
dashboard
is
the
first
one
we
started
extending
and
at
the
bottom
of
the
dashboard.
You
can
see
this
panel
panel
called
metrics
for
for
build
logs
and
that's
what
we
have
extended
this
dashboard
with
everything
else.
A
That's
definitely
a
good
idea,
so,
okay,
so
so
that's
the
dashboard
and
everything
in
like
this
panel
panel,
this
one
this
one,
that's
something
that
comes
from
a
generic
dashboard
for
a
stage
group.
When
we
go
to
like
verify
testing,
I
think
verify
testing.
A
A
So
we
added
the
span
panel
for
matrix
for
for
build
logs,
and
you
can
see
that
we
have
like
the
counter
for
the
rate
of
build,
looks
streamed
invalid
and
corrupted
build
logs
detected
all
my
tweaks
and
throughput
of
build
logs
processing
with
bytes
per
second,
and
this
is
something
that
you
know
it's
a
custom
extension.
A
So
every
team
in
verify,
and
not
only
verify
in
other
stages
as
well,
can
actually
go
to
their
dashboard
and
extend
it
with
all
the
metrics
that
they
want,
and,
in
my
opinion,
it's
a
nice
idea,
because
you
have
one
place
with
the
most
interesting
metrics
for
your
group
and
extending
it
it's
like
not
super
complex.
A
Let
me
show
this
file
view
file,
history
and
like
this
is
how
this
file
looked
like
before
me,
contributing
to
it
it's
just
the
stage
group
dashboard
for
continuous
integration,
and
there
is
like
the
trailer
at
the
end
of
the
dashboard,
and
this,
like
is
like
a
function
that
generates
your
dashboard.
If
you
want
to
extend
it,
you
need
to
put
all
the
panels
and
like
definitions
between
line
five
and
six,
and
it
looks
like
exactly
the
same
for,
for
example,
verify
testing.
A
So
so
I
added
a
few
panels,
so
you
can
see
that
we
need
to
add
panel,
then
specified
layout.
We
can
add
some
text.
We
can
add
some
basic
time
series
and
you
of
course
put
a
prompt
ql
in
here
as
a
query
and
graph
is
going
to
handle
all
the
intervals
environments,
and
this
way
you
can
easily.
A
A
So
everything
is
it's
defined
in
this
project.
It's
the
runbooks
project
maintained
by
our
infrastructure,
team
and
sres.
So
there
is
a
common
dashboard
somewhere.
I
don't
exactly
remember
what
file
defines
it,
but
it's
somewhere
in
here.
I
can't
remember
you
would
need
to
find
it.
But
basically
the
idea
is
that
the
common
dashboard
is
being
maintained
by
the
scalability
team,
and
you
know
stage
groups
can
extend
it,
but
the
common
thing
is
it's
being
maintained
by
this
call
of
duty.
A
They
make
sure
that
what
it
shows
is
accurate
and
that
they
are
getting
metrics
from
like
valid
sources,
because
under
the
hood
in
the
race
application
we
are
defining
feature
categories
for
every
site,
worker
for
controllers
and
stuff
like
that,
and
then
it's
being
aggregated
by
the
tooling
written
by
scalability
team
and
pulled
into
kibana
and
displayed
on
a
stage
group
dashboard
doesn't
make
sense
for
me.
C
Yeah
yeah,
I
was
just
thinking.
Let's
say
we
want
to
start.
You
know,
add
a
new
chart
about
pipeline
iterations,
I'm
just
making
like
an
assumption,
something
that
could
be
of
into
of
interest
to
all
the
groups
within
verify.
C
A
So
yeah
I
get
what
you
so
if
there
is
a
common
ancestor
for
the
stage,
not
only
for
the
generic
stage,
that's
a
very
good
question
and,
to
be
honest
I
don't
know
so.
This
is
something
we
would
need
to
ask
scholarly
team
about:
okay,
okay
and
yeah.
I
think
it's
actually
a
good
idea
and
something
like
that
might
be
useful.
A
However,
I
just
suspect
that
something
like
this
has
not
been
factored
into
the
first
iteration
and,
of
course
everything
is
working
progress,
so
with
a
good
reasons
provided
scalability
might
be
able
to
extend
it
and
lose
karaoke.
C
And
how
did
you
find
the
the
process
of
updating
the
adding
new
dashboards
in
the
new
data
dashboard.
A
Like
the
workflow,
it's
very
simple
you
you
clone
the
run
books
project
you
make
modifications
and
submit
that
merge,
request
for
review,
and
anyone
in
every
sre
can
make
your
changes
and
changes
and
merge
them.
It's
probably
a
good
idea
to
ask
bob
or
someone
from
the
skull
big
team
instead
of
like
every
sre,
but
because
they
are
like
building
this
generic
dashboard
stuff
yeah,
and
if
you
would
like
to
learn
more
about
how
to
actually
do
that
technically,
like
what
files
to
open
how
to
push
your
changes.
A
There
are
there
in
the
dashboards
directory,
there
is
a
readmemd
file
and
some
documentation
is
available
inside
and
we
plan
to
add
more
metrics
for
the
for
the
c
continuous
integration
group.
I
created
an
issue
about
that
today
and
listed
at
least
a
few
that
we
can
add.
So
I
plan
to
add
it
for
you,
but
if
someone
would
like
would
like
to
learn
how
to
do
that
feel
free
to
take
a
step
at
one
of
the
metrics,
and
you
can
collaborate
with
me
to
get
immersed.
A
Yeah,
so
I
think
that
we
are
almost
at
time
so
there's
the
last
point.
I
had
about
finding
an
expensive
query,
because
this
is
something
we
we
have
seen
recently
that
database
engineers,
I
identify
a
query
that
is
kind
of
expensive
or
is
running
very
frequently
and
contributing
to
a
significant
load
on
the
database
and
asking
stage
groups
to
like
improve
the
performance
or
do
something
so
that
we
do
not
run
such
a
query.
A
That
often-
and
sometimes
it's
quite
challenging,
to
find
this
query,
so
I
created
an
issue
that
could
perhaps
help
with
that,
because
right
now
we
do
not
have
a
good
way
of
finding
where
the
query
stems
from
or
like
which
area
of
code
is
actually
actually
executing
this
query,
so
the
infrastructure
team
is
going
to
give
us
the
query,
but
if
it
it's
like
very
generic
query,
it's
very
difficult
to
pinpoint
the
place
in
the
code
base
that
is
responsible
for
the
biggest
load.
A
Sometimes
it
might
be
simple
fix
like
adding
an
inverse
of.
Sometimes
it
might
be
more
difficult,
but
you
need
to
know
which
area
of
code
base
is
actually
causing
the
law
to
optimize
it.
So
there
is
this
issue
that
might
actually
help
with
answering
this
question
and
yeah.
Are
there
any
questions?
We
do
have
like
a
minute
more.
A
A
Oh
okay,
so
thank
you
very
much
for
attending
the
call
today
and
looking
forward
to
seeing
you
in
two
weeks
have
a
great
day
bye.