SlideShare a Scribd company logo
1 of 55
Download to read offline
2016−06−23
Debugging Distributed Systems
Donny Nadolny
donny@pagerduty.com
#VelocityConf
DEBUGGING DISTRIBUTED SYSTEMS 2016−06−23
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Distributed system for building distributed systems
• Small in-memory filesystem
What is ZooKeeper
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Distributed locking
• Consistent, highly available
ZooKeeper at PagerDuty
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Distributed locking
• Consistent, highly available
ZooKeeper at PagerDuty… Over A WAN
ZK 3
ZK 1 ZK 2
DC-A
DC-C
DC-B
24 ms
2
4
m
s
3
m
s
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Network trouble, one follower falls behind
• ZooKeeper gets stuck - leader still up
The Failure
1
2
DBSize
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Network trouble, one follower falls behind
• ZooKeeper gets stuck - leader still up
The Failure
1
1
2
2
1.5
DBSize
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Leader logs: “Too busy to snap, skipping”
First Hint
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Disk slow? let’s test:
• sshfs donny@some_server:/home/donny /mnt
• Similar failure profile
Fault Injection
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Disk slow? let’s test:
• sshfs donny@some_server:/home/donny /mnt
• Similar failure profile
• Re-examine disk latency… nope, was a red herring
Fault Injection
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• First warning: application monitoring
• Monitoring ZooKeeper: used ruok
Health Checks
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Added deep health check:
• write to one ZooKeeper key
• read from ZooKeeper key
Deep Health Checks
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
"LearnerHandler-/123.45.67.89:45874" prio=10 tid=0x00000000024bb800 nid=0x3d0d runnable
[0x00007fe6c3193000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
…
at org.apache.jute.BinaryOutputArchive.writeBuffer(BinaryOutputArchive.java:118)
…
at org.apache.jute.BinaryOutputArchive.writeRecord(BinaryOutputArchive.java:123)
at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:1115)
- locked <0x00000000d4cd9e28> (a org.apache.zookeeper.server.DataNode)
at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:1130)
…
at org.apache.zookeeper.server.ZKDatabase.serializeSnapshot(ZKDatabase.java:467)
at org.apache.zookeeper.server.quorum.LearnerHandler.run(LearnerHandler.java:493)
The Stack Trace
1
2
3
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
Threads (Leader)
Request processors
Learner handler
(one per follower)
Client requests
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
Threads (Leader)
Request processors
Learner handler
(one per follower)
Client requests
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
Threads (Leader)
Request processors
Learner handler
(one per follower)
Client requests
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
Threads (Leader)
Request processors
Learner handler
(one per follower)
Client requests
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
void serializeNode(OutputArchive output, String path) {
DataNode node = getNode(path);
String[] children = {};
synchronized (node) {
output.writeString(path, "path");
output.writeRecord(node, "node");
children = node.getChildren();
}
for (String child : children) {
serializeNode(output, path + "/" + child);
}
}
Write Snapshot Code (simplified)
Blocking network write
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Why didn’t a follower take over?
• ZK heartbeat: message from leader to follower, follower times out
ZooKeeper Heartbeat
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
Threads (Leader)
Request processors
Learner handler
(one per follower)
Client requests
Quorum Peer
2016-06-16MAKING PAGERDUTY MORE RELIABLE USING PXC
TCP
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
ACK
… SYN, SYN-ACK, ACK …
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
Packet 1
~200ms
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
Packet 1
~200ms
Packet 1
~200ms
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
Packet 1
~200ms
Packet 1
~200ms
~400ms
Packet 1
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
Packet 1
~200ms
Packet 1
~200ms
~400ms
Packet 1
~800ms
Packet 1
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Data Transmission
Follower Leader
ESTABLISHED ESTABLISHED
Packet 1
Packet 1
~200ms
Packet 1
~200ms
~400ms
Packet 1
~800ms
~
120sec
Packet 1
Packet 1
120sec
CLOSED
15 retries
…
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Retransmission timeout (RTO) is based on latency
• TCP_RTO_MIN = 200 ms
• TCP_RTO_MAX = 2 minutes
• /proc/sys/net/ipv4/tcp_retries2 = 15 retries
• 0.2 + 0.2 + 0.4 + 0.8 + … + 120 = 924.8 seconds (15.5 mins)
TCP Retransmission (Linux Defaults)
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
1. Network trouble begins - packet loss / latency
2. Follower falls behind, restarts, requests snapshot
3. Leader begins to send snapshot
4. Snapshot transfer stalls
5. Follower ZooKeeper restarts, attempts to close connection
6. Network heals
7. … Leader still stuck
Timeline
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
1. Network trouble begins - packet loss / latency
2. Follower falls behind, restarts, requests snapshot
3. Leader begins to send snapshot
4. Snapshot transfer stalls
5. Follower ZooKeeper restarts, attempts to close connection
6. Network heals
7. … Leader still stuck
Timeline
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Close Connection
Follower Leader
ESTABLISHED ESTABLISHED
FIN/ACK
FIN
ACK
LAST_ACK
CLOSED
TIME_WAIT
CLOSED
60 seconds
FIN_WAIT1
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Close Connection
Follower Leader
ESTABLISHED ESTABLISHED
CLOSED
~1m40s
FIN_WAIT1 FIN
FIN
FIN
FIN
FIN
8 retries
~
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Close Connection
Follower Leader
ESTABLISHED ESTABLISHED
CLOSED
~1m40s
FIN_WAIT1 FIN Packet 1
CLOSED
~15.5 mins
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Close Connection
Follower Leader
ESTABLISHED ESTABLISHED
CLOSED
~1m40s
FIN_WAIT1 FIN Packet 1
CLOSED
RST
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• 06:51:47 iptables: WARN: IN=eth0 OUT= MAC=00:0d:
12:34:56:78:12:34:56:78:12:34:56:78 SRC=<leader_ip>
DST=<follower_ip> LEN=54 TOS=0x00 PREC=0x00 TTL=44
ID=36370 DF PROTO=TCP SPT=3888 DPT=36416 WINDOW=227
RES=0x00 ACK PSH URGP=0
syslog - Dropped Packets on Follower
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
... more rules to accept connections …
iptables -A INPUT -j DROP
iptables
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
... more rules to accept connections …
iptables -A INPUT -j DROP
But: iptables connections != netstat connections
iptables
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• From linux/net/netfilter/nf_conntrack_proto_tcp.c:
• [TCP_CONNTRACK_LAST_ACK] = 30 SECS
conntrack Timeouts
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
TCP Close Connection
Follower Leader
CLOSED
~51.2s
FIN_WAIT1 FIN
FIN
FIN
FIN
FIN
~25.6s
kernel TCPconntrack
LAST_ACK
30s
30s
30s
30s
CLOSED
~12.8s
30s
~81.2s
~102.4s
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Packet loss
• Follower falls behind, requests snapshot
• (Packet loss continues) follower closes connection
• Follower conntrack forgets connection
• Leader now stuck for ~15 mins, even if network heals
The Full Story
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Follower falls behind:
tc qdisc add dev eth0 root netem delay 500ms 100ms loss 35%
• Wait for a few minutes
(Alternate: kill the follower)
Reproducing (1/3) - Setup
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Remove latency / packet loss:
tc qdisc del dev eth0 root netem
• Restrict bandwidth:
tc qdisc add dev eth0 handle 1: root htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 100kbps
• Restart follower ZooKeeper process
Reproducing (2/3) - Request Snapshot
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Block traffic to leader:
iptables -A OUTPUT -p tcp -d <leader ip> -j DROP
• Remove bandwidth restriction:
tc qdisc del dev eth0 root
• Kill follower ZooKeeper process, kernel tries to close connection
• Monitor conntrack status, wait for entry to disappear, ~80 seconds:
conntrack -L | grep <leader ip>
• Allow traffic to leader:
iptables -D OUTPUT -p tcp -d <leader ip> -j DROP
Reproducing (3/3) - Carefully Close Connection
2016-06-16MAKING PAGERDUTY MORE RELIABLE USING PXC
IPsec
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
IPsec
Follower Leader
ESP (UDP)
ESP (UDP)
IPsec
TCP data
IPsec
TCP data
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
IPsec - Establish Connection
Follower Leader
IPsec Phase 1
IPsec Phase 2
TCP data
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
IPsec - Dropped Packets
Follower Leader
IPsec Phase 1
IPsec Phase 2
TCP data
TCP data
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
IPsec - Heartbeat
Follower Leader
IPsec Phase 1
IPsec Phase 2
IPsec Heartbeat
TCP data
TCP data
2016-06-16MAKING PAGERDUTY MORE RELIABLE USING PXC
Lessons
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Don’t lock and block
• TCP can block for a really long time
• Interfaces / abstract methods make analysis harder
Lesson 1
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Automate debug info collection (stack trace, heap dump, txn logs, etc)
Lesson 2
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
• Application/dependency checks should be deep health checks!
• Leader/follower heartbeats should be deep health checks!
Lesson 3
2016−06−23
Questions?
donny@pagerduty.com
Link:
“Network issues can cause cluster to hang due to near-deadlock”
https://issues.apache.org/jira/browse/ZOOKEEPER-2201
2016−06−23DEBUGGING DISTRIBUTED SYSTEMS
tc qdisc add dev eth0 root netem delay 500ms 100ms loss 25% #add latency
tc qdisc del dev eth0 root netem #remove latency
tc qdisc add dev eth0 handle 1: root htb default 11 #restrict bandwidth
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 100kbps
tc qdisc del dev eth0 root #remove bandwidth restriction
#tip: when doing latency / loss / bandwidth restriction, can be helpful to do "sleep 60 && <tc delete command> & disown" in case you lose ssh access
tcpdump -n "src host 123.45.67.89 or dst host 123.45.67.89" -i eth0 -s 65535 -w /tmp/packet.dump #capture packets, then open locally in wireshark
iptables -A OUTPUT -p tcp --dport 4444 -j DROP #block traffic
iptables -D OUTPUT -p tcp --dport 4444 -j DROP #allow traffic
#can use INPUT / OUTPUT chain for incoming / outgoing traffic, also --dport <dest port>, --sport <src port>, -s <source ip>, -d <dest ip>
sshfs me@123.45.67.89:/tmp/data /mnt #configure database/application local data directory to be /mnt, then use tools above against 123.45.67.89
#alternative: nbd (network block device)
netstat -peanut #network connections, regular kernel view
conntrack -L #network connections, iptables view
“Mess With The Network” Cheat Sheet

More Related Content

What's hot

Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
 
Commication Framework in OpenStack
Commication Framework in OpenStackCommication Framework in OpenStack
Commication Framework in OpenStackSean Chang
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Jim Jagielski
 
Thanos: Global, durable Prometheus monitoring
Thanos: Global, durable Prometheus monitoringThanos: Global, durable Prometheus monitoring
Thanos: Global, durable Prometheus monitoringBartłomiej Płotka
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with PrometheusShiao-An Yuan
 
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...Ontico
 
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атак
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атакСтек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атак
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атакPositive Hack Days
 
LXC on Ganeti
LXC on GanetiLXC on Ganeti
LXC on Ganetikawamuray
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014Amazon Web Services
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with PacemakerKris Buytaert
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The HoodNagios
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)Wei Shan Ang
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBayAliasgar Ginwala
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveMirantis
 
Monitoring with Ganglia
Monitoring with GangliaMonitoring with Ganglia
Monitoring with GangliaFastly
 
High Performance Erlang - Pitfalls and Solutions
High Performance Erlang - Pitfalls and SolutionsHigh Performance Erlang - Pitfalls and Solutions
High Performance Erlang - Pitfalls and SolutionsYinghai Lu
 
Corosync and Pacemaker
Corosync and PacemakerCorosync and Pacemaker
Corosync and PacemakerMarian Marinov
 
Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置YUCHENG HU
 
MySQL Galera 集群
MySQL Galera 集群MySQL Galera 集群
MySQL Galera 集群YUCHENG HU
 

What's hot (20)

Thanos - Prometheus on Scale
Thanos - Prometheus on ScaleThanos - Prometheus on Scale
Thanos - Prometheus on Scale
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
 
Commication Framework in OpenStack
Commication Framework in OpenStackCommication Framework in OpenStack
Commication Framework in OpenStack
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2
 
Thanos: Global, durable Prometheus monitoring
Thanos: Global, durable Prometheus monitoringThanos: Global, durable Prometheus monitoring
Thanos: Global, durable Prometheus monitoring
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with Prometheus
 
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...
 
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атак
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атакСтек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атак
Стек Linux HTTPS/TCP/IP для защиты от HTTP-DDoS-атак
 
LXC on Ganeti
LXC on GanetiLXC on Ganeti
LXC on Ganeti
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with Pacemaker
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The Hood
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
Monitoring with Ganglia
Monitoring with GangliaMonitoring with Ganglia
Monitoring with Ganglia
 
High Performance Erlang - Pitfalls and Solutions
High Performance Erlang - Pitfalls and SolutionsHigh Performance Erlang - Pitfalls and Solutions
High Performance Erlang - Pitfalls and Solutions
 
Corosync and Pacemaker
Corosync and PacemakerCorosync and Pacemaker
Corosync and Pacemaker
 
Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置
 
MySQL Galera 集群
MySQL Galera 集群MySQL Galera 集群
MySQL Galera 集群
 

Viewers also liked

Measuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 TrainingMeasuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 TrainingPatrick Meenan
 
Wakster marketing with entertainment
Wakster marketing with entertainmentWakster marketing with entertainment
Wakster marketing with entertainmentBizSmart Select
 
Dossier OSPI Ciberseguridad
Dossier OSPI CiberseguridadDossier OSPI Ciberseguridad
Dossier OSPI CiberseguridadEnrique Ávila
 
Robots dynamics and control
Robots dynamics and controlRobots dynamics and control
Robots dynamics and controlIan Tsybulkin
 
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまでYusuke Tamukai
 
Population growth ranges among Cook County townships
Population growth ranges among Cook County townshipsPopulation growth ranges among Cook County townships
Population growth ranges among Cook County townshipsJack Trager
 
[Greach 17] make concurrency groovy again
[Greach 17] make concurrency groovy again[Greach 17] make concurrency groovy again
[Greach 17] make concurrency groovy againAlonso Torres
 
Catálogo BEEP: Déjate sorprender
Catálogo BEEP: Déjate sorprenderCatálogo BEEP: Déjate sorprender
Catálogo BEEP: Déjate sorprenderBeep Informática
 
Are you ready to lead change?
Are you ready to lead change? Are you ready to lead change?
Are you ready to lead change? Dora Szigeti
 
Vertical noir: Histories of the future in urban science fiction
Vertical noir: Histories of the future in urban science fictionVertical noir: Histories of the future in urban science fiction
Vertical noir: Histories of the future in urban science fictionStephen Graham
 
Importancia de la marca en los productos
Importancia de la marca en los productosImportancia de la marca en los productos
Importancia de la marca en los productosmarketingmype
 
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS Mak...
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS  Mak...Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS  Mak...
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS Mak...Dr. Oliver Massmann
 
Energy Saving Tips For Steam Boiler - Thermodyne Boilers
Energy Saving Tips For Steam Boiler - Thermodyne BoilersEnergy Saving Tips For Steam Boiler - Thermodyne Boilers
Energy Saving Tips For Steam Boiler - Thermodyne BoilersThermodyne Engineering systems
 
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisation
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisationAgilia 2017 - re-imagining Scrum to re-vers-ify your organisation
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisationGunther Verheyen
 
Equipos de Alto Desempeño
Equipos de Alto DesempeñoEquipos de Alto Desempeño
Equipos de Alto DesempeñoJavier Sánchez
 
R. VILLANO - The photos (EN part 17)
R. VILLANO - The photos (EN part 17)R. VILLANO - The photos (EN part 17)
R. VILLANO - The photos (EN part 17)Raimondo Villano
 

Viewers also liked (20)

Measuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 TrainingMeasuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 Training
 
Portadas nacionales 31 marzo-17 (1)
Portadas nacionales 31 marzo-17 (1)Portadas nacionales 31 marzo-17 (1)
Portadas nacionales 31 marzo-17 (1)
 
Wakster marketing with entertainment
Wakster marketing with entertainmentWakster marketing with entertainment
Wakster marketing with entertainment
 
Dossier OSPI Ciberseguridad
Dossier OSPI CiberseguridadDossier OSPI Ciberseguridad
Dossier OSPI Ciberseguridad
 
Robots dynamics and control
Robots dynamics and controlRobots dynamics and control
Robots dynamics and control
 
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
受託開発会社による「受託開発と自社サービス開発の両立」と新サービス「Board」ができるまで
 
Population growth ranges among Cook County townships
Population growth ranges among Cook County townshipsPopulation growth ranges among Cook County townships
Population growth ranges among Cook County townships
 
[Greach 17] make concurrency groovy again
[Greach 17] make concurrency groovy again[Greach 17] make concurrency groovy again
[Greach 17] make concurrency groovy again
 
Cracking the code
Cracking the codeCracking the code
Cracking the code
 
Catálogo BEEP: Déjate sorprender
Catálogo BEEP: Déjate sorprenderCatálogo BEEP: Déjate sorprender
Catálogo BEEP: Déjate sorprender
 
How to start a business
How to start a businessHow to start a business
How to start a business
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Are you ready to lead change?
Are you ready to lead change? Are you ready to lead change?
Are you ready to lead change?
 
Vertical noir: Histories of the future in urban science fiction
Vertical noir: Histories of the future in urban science fictionVertical noir: Histories of the future in urban science fiction
Vertical noir: Histories of the future in urban science fiction
 
Importancia de la marca en los productos
Importancia de la marca en los productosImportancia de la marca en los productos
Importancia de la marca en los productos
 
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS Mak...
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS  Mak...Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS  Mak...
Lawyer in Vietnam Oliver Massmann BREXIT IMPACT ON VIETNAM AND SOLUTIONS Mak...
 
Energy Saving Tips For Steam Boiler - Thermodyne Boilers
Energy Saving Tips For Steam Boiler - Thermodyne BoilersEnergy Saving Tips For Steam Boiler - Thermodyne Boilers
Energy Saving Tips For Steam Boiler - Thermodyne Boilers
 
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisation
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisationAgilia 2017 - re-imagining Scrum to re-vers-ify your organisation
Agilia 2017 - re-imagining Scrum to re-vers-ify your organisation
 
Equipos de Alto Desempeño
Equipos de Alto DesempeñoEquipos de Alto Desempeño
Equipos de Alto Desempeño
 
R. VILLANO - The photos (EN part 17)
R. VILLANO - The photos (EN part 17)R. VILLANO - The photos (EN part 17)
R. VILLANO - The photos (EN part 17)
 

Similar to Debugging Distributed Systems - Velocity Santa Clara 2016

Multihomed Linux router
Multihomed Linux routerMultihomed Linux router
Multihomed Linux routerMarian Marinov
 
BigData Clusters Redefined
BigData Clusters RedefinedBigData Clusters Redefined
BigData Clusters RedefinedDataWorks Summit
 
DevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectDevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectJames Denton
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?APNIC
 
Anatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoortersAnatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoortersSadique Puthen
 
presentation_5725_1534743837.pdf
presentation_5725_1534743837.pdfpresentation_5725_1534743837.pdf
presentation_5725_1534743837.pdfHaithamAli51
 
Secure lustre on openstack
Secure lustre on openstackSecure lustre on openstack
Secure lustre on openstackJames Beal
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationAPNIC
 
Ccnp3 lab 3_1_en (hacer)
Ccnp3 lab 3_1_en (hacer)Ccnp3 lab 3_1_en (hacer)
Ccnp3 lab 3_1_en (hacer)Omar Herrera
 
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2DrayTek Corp.
 
Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Alejandro Salinas
 
Open stack advanced_part
Open stack advanced_partOpen stack advanced_part
Open stack advanced_partlilliput12
 
High available energy management system
High available energy management systemHigh available energy management system
High available energy management systemJo Ee Liew
 
2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshopKathleen Ludewig Omollo
 
A Skype case study (2011)
A Skype case study (2011)A Skype case study (2011)
A Skype case study (2011)Vasia Kalavri
 
Oracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodLudovico Caldara
 
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...Cisco Russia
 

Similar to Debugging Distributed Systems - Velocity Santa Clara 2016 (20)

Multihomed Linux router
Multihomed Linux routerMultihomed Linux router
Multihomed Linux router
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
BigData Clusters Redefined
BigData Clusters RedefinedBigData Clusters Redefined
BigData Clusters Redefined
 
DevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectDevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network Architect
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?
 
Anatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoortersAnatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoorters
 
presentation_5725_1534743837.pdf
presentation_5725_1534743837.pdfpresentation_5725_1534743837.pdf
presentation_5725_1534743837.pdf
 
IPv6 at CSCS
IPv6 at CSCSIPv6 at CSCS
IPv6 at CSCS
 
Secure lustre on openstack
Secure lustre on openstackSecure lustre on openstack
Secure lustre on openstack
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentation
 
Ccnp3 lab 3_1_en (hacer)
Ccnp3 lab 3_1_en (hacer)Ccnp3 lab 3_1_en (hacer)
Ccnp3 lab 3_1_en (hacer)
 
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2
DrayTek RoadShow 2015 @ Portugal (Setembro) - Sessão 2
 
Managing Redundant Links & Inter-VLAN Routing
Managing Redundant Links & Inter-VLAN RoutingManaging Redundant Links & Inter-VLAN Routing
Managing Redundant Links & Inter-VLAN Routing
 
Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)
 
Open stack advanced_part
Open stack advanced_partOpen stack advanced_part
Open stack advanced_part
 
High available energy management system
High available energy management systemHigh available energy management system
High available energy management system
 
2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop
 
A Skype case study (2011)
A Skype case study (2011)A Skype case study (2011)
A Skype case study (2011)
 
Oracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The Hood
 
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
 

Recently uploaded

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Debugging Distributed Systems - Velocity Santa Clara 2016