SlideShare a Scribd company logo
1 of 27
11
A Tour of Internal Apache Accumulo Testing
Bill Havanki
Solutions Architect, Cloudera Government Solutions
2 ©2014 Cloudera, Inc. All rights reserved.
I’ll be your skipper for as far as we get
2
CC BY-ND 2.0
Loren Javier
3 ©2014 Cloudera, Inc. All rights reserved.
Itinerary
• unit, functional, and integration
• static analysis
• continuous and randomwalk
• memory stress and failures
• upgrade
• scalability and performance
3
CC BY-ND 2.0
Loren Javier
4
Basic Tests
Don’t worry if it’s crowded now ... there’ll be lots of room after these first
few slides
4
5 ©2014 Cloudera, Inc. All rights reserved.
Unit testing
• just over 1000 unit tests
• JUnit with Easymock
• can run under Jenkins
• less focus here than long-
running tests
5
CC BY-ND 2.0
Loren Javier
6 ©2014 Cloudera, Inc. All rights reserved.
Functional testing (through 1.5.x)
• 72 or so
• implemented in Java with
Python wrappers
• need HDFS / ZK running
• either Accumulo installed
or built
• can run under MR
6
CC BY-ND 2.0
Loren Javier again
7 ©2014 Cloudera, Inc. All rights reserved.
Integration testing (1.6.0+)
• just over 100
• pure Java
• run under Maven
• can run under Jenkins
• uses MiniAccumuloCluster
7
CC BY-ND 2.0
guess who? Loren Javier
8 ©2014 Cloudera, Inc. All rights reserved.
Static analysis
• Findbugs
• PMD and CPD
• Eclipse
• Coverity
8
CC BY-ND 2.0
still Loren Javier
9
Small Cluster Tests
The python is one of the jungle’s most fascinating creatures. Look at how
many animals get wrapped up in the subject
9
10 ©2014 Cloudera, Inc. All rights reserved.
Continuous ingest
• two phases
• ingest
• verify
• run for 24 or 72 hours
10
CC BY-ND 2.0
oh hello there, Loren Javier
11 ©2014 Cloudera, Inc. All rights reserved.
Continuous ingest
other processes during
ingest
• walkers
• scanners
• agitators (≈ Chaos Monkey)
11
CC BY-ND 2.0
that’s about enough, Loren Javier
12 ©2014 Cloudera, Inc. All rights reserved.
Joke time
Knock knock.
I said, KNOCK KNOCK.
Safari.
Safari, so good. You haven’t fallen asleep yet.
12
13 ©2014 Cloudera, Inc. All rights reserved.
Randomwalk
• traversal of graph of test
actions
• 8 fundamental graphs
• several more combining
• can be limited by hops or
run time
• usually run for 24 hours
13
CC BY-ND 2.0
look at me, I’m Loren Javier, I take all the best pictures
14 ©2014 Cloudera, Inc. All rights reserved.
Memory stress
• two running parts
• reader
• writer
• configure for large keys or
values (e.g., > 1 MB)
• run for about an hour
14
CC BY 2.0
Justin Ennis
15 ©2014 Cloudera, Inc. All rights reserved.
Failures
• namenode failover
• datanode failure
• tablet server failure
• ZooKeeper failure
• loss of tablet server node
• loss of master node
15
CC BY-ND 2.0
Loren Javier, back in the saddle
16 ©2014 Cloudera, Inc. All rights reserved.
Upgrades
less formal, run manually
Cloudera has a couple tests here
• data compatibility test
• ACL compatibility test
16
CC BY-ND 2.0
Loren “likes the ride a bit too much” Javier
17
Large Cluster Tests
Look at all the elephants! Go ahead and take pictures, they all have their
trunks on
17
18 ©2014 Cloudera, Inc. All rights reserved.
Scalability
• ingest millions of entries
• run over tens of nodes (up
to 80)
• watch performance, esp.
across versions
18
CC BY-ND 2.0
Loren Javier, shutterbug extraordinaire
19 ©2014 Cloudera, Inc. All rights reserved.
Joke time
Why did the elephant quit her testing job?
• She was tired of working for peanuts.
• She had had it up to ear.
• She herd about a better job.
• There were just too many wrinkles.
• Her desire to do it was stamped out.
19
20 ©2014 Cloudera, Inc. All rights reserved.
Performance - Benchmarks
8 benchmark
implementations, e.g.:
• lots of small records
• create, delete many tables
• insert one terabyte of data
20
CC BY-ND 2.0
Loren ... Javier
21 ©2014 Cloudera, Inc. All rights reserved.
Performance - Yahoo! Cloud Serving Benchmark
• Accumulo binding
• workloads with 2 phases
• load data
• run test
• customizable record count,
field length, etc.
• multiple clients
21
CC BY-ND 2.0
Nancy Nally
22
Returning to the Summit
Make sure you have all your personal belongings with you ...
smartphones, small children ... children left behind will be forced to write
unit tests
22
23 ©2014 Cloudera, Inc. All rights reserved.
Still more to do
• more unit and integration
test coverage (≈30%)
• attention to static analysis
• chasing performance
regressions
• easier to run
23
CC BY-ND 2.0
nice work, Loren Javier
24 ©2014 Cloudera, Inc. All rights reserved.
Thanks
• Sean Busbey & Mike Drob
• Accumulo committers and
community
• fellow Clouderans
• Loren Javier
• my audience
24
CC BY 2.0
Justin Ennis
25 ©2014 Cloudera, Inc. All rights reserved.
Visit our booth!
25
CC BY-ND 2.0
Loren Javier, head photographer
26 ©2014 Cloudera, Inc. All rights reserved.
The most dangerous part of our journey
26
CC BY-ND 2.0
Loren Javier
27 ©2014 Cloudera, Inc. All rights reserved.
27
Please exit the boat
Watch your step and mind
your head. If you hit your
head, watch your language

More Related Content

What's hot

OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...Vietnam Open Infrastructure User Group
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtqViet Stack
 
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)William Yeh
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentPuppet
 
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per SecondAmazon Web Services
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using AnsibleSonatype
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsTravis Wright
 
Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Anton Weiss
 
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Vietnam Open Infrastructure User Group
 
Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Dermot Bradley
 
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!![OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!OpenStack Korea Community
 
OpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingOpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingopenstackindia
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixDiana Tkachenko
 

What's hot (19)

OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtq
 
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using Ansible
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
 
Quick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico LinQuick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico Lin
 
Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!
 
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
 
Getput suite
Getput suiteGetput suite
Getput suite
 
Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!
 
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!![OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
 
OpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingOpenStack Tempest and REST API testing
OpenStack Tempest and REST API testing
 
TIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycleTIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycle
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
 

Similar to Accumulo Summit 2014: A Tour of Internal Accumulo Testing

Troubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingTroubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingGreat Wide Open
 
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014CloudBees
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)CloudBees
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Zoo keeper in the wild
Zoo keeper in the wildZoo keeper in the wild
Zoo keeper in the wilddatamantra
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsPublicis Sapient Engineering
 
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebula Project
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installationsNETWAYS
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Fwdays
 
Distributed Testing Environment
Distributed Testing EnvironmentDistributed Testing Environment
Distributed Testing EnvironmentŁukasz Morawski
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionCloudera, Inc.
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerRightScale
 
Tupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBTupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBDocker, Inc.
 
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)VMware Tanzu
 

Similar to Accumulo Summit 2014: A Tour of Internal Accumulo Testing (20)

Troubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingTroubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed Debugging
 
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
YARN
YARNYARN
YARN
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Zoo keeper in the wild
Zoo keeper in the wildZoo keeper in the wild
Zoo keeper in the wild
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
 
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installations
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
 
Distributed Testing Environment
Distributed Testing EnvironmentDistributed Testing Environment
Distributed Testing Environment
 
Elastic build environment
Elastic build environmentElastic build environment
Elastic build environment
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to Production
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
Tupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBTupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FB
 
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Accumulo Summit 2014: A Tour of Internal Accumulo Testing

  • 1. 11 A Tour of Internal Apache Accumulo Testing Bill Havanki Solutions Architect, Cloudera Government Solutions
  • 2. 2 ©2014 Cloudera, Inc. All rights reserved. I’ll be your skipper for as far as we get 2 CC BY-ND 2.0 Loren Javier
  • 3. 3 ©2014 Cloudera, Inc. All rights reserved. Itinerary • unit, functional, and integration • static analysis • continuous and randomwalk • memory stress and failures • upgrade • scalability and performance 3 CC BY-ND 2.0 Loren Javier
  • 4. 4 Basic Tests Don’t worry if it’s crowded now ... there’ll be lots of room after these first few slides 4
  • 5. 5 ©2014 Cloudera, Inc. All rights reserved. Unit testing • just over 1000 unit tests • JUnit with Easymock • can run under Jenkins • less focus here than long- running tests 5 CC BY-ND 2.0 Loren Javier
  • 6. 6 ©2014 Cloudera, Inc. All rights reserved. Functional testing (through 1.5.x) • 72 or so • implemented in Java with Python wrappers • need HDFS / ZK running • either Accumulo installed or built • can run under MR 6 CC BY-ND 2.0 Loren Javier again
  • 7. 7 ©2014 Cloudera, Inc. All rights reserved. Integration testing (1.6.0+) • just over 100 • pure Java • run under Maven • can run under Jenkins • uses MiniAccumuloCluster 7 CC BY-ND 2.0 guess who? Loren Javier
  • 8. 8 ©2014 Cloudera, Inc. All rights reserved. Static analysis • Findbugs • PMD and CPD • Eclipse • Coverity 8 CC BY-ND 2.0 still Loren Javier
  • 9. 9 Small Cluster Tests The python is one of the jungle’s most fascinating creatures. Look at how many animals get wrapped up in the subject 9
  • 10. 10 ©2014 Cloudera, Inc. All rights reserved. Continuous ingest • two phases • ingest • verify • run for 24 or 72 hours 10 CC BY-ND 2.0 oh hello there, Loren Javier
  • 11. 11 ©2014 Cloudera, Inc. All rights reserved. Continuous ingest other processes during ingest • walkers • scanners • agitators (≈ Chaos Monkey) 11 CC BY-ND 2.0 that’s about enough, Loren Javier
  • 12. 12 ©2014 Cloudera, Inc. All rights reserved. Joke time Knock knock. I said, KNOCK KNOCK. Safari. Safari, so good. You haven’t fallen asleep yet. 12
  • 13. 13 ©2014 Cloudera, Inc. All rights reserved. Randomwalk • traversal of graph of test actions • 8 fundamental graphs • several more combining • can be limited by hops or run time • usually run for 24 hours 13 CC BY-ND 2.0 look at me, I’m Loren Javier, I take all the best pictures
  • 14. 14 ©2014 Cloudera, Inc. All rights reserved. Memory stress • two running parts • reader • writer • configure for large keys or values (e.g., > 1 MB) • run for about an hour 14 CC BY 2.0 Justin Ennis
  • 15. 15 ©2014 Cloudera, Inc. All rights reserved. Failures • namenode failover • datanode failure • tablet server failure • ZooKeeper failure • loss of tablet server node • loss of master node 15 CC BY-ND 2.0 Loren Javier, back in the saddle
  • 16. 16 ©2014 Cloudera, Inc. All rights reserved. Upgrades less formal, run manually Cloudera has a couple tests here • data compatibility test • ACL compatibility test 16 CC BY-ND 2.0 Loren “likes the ride a bit too much” Javier
  • 17. 17 Large Cluster Tests Look at all the elephants! Go ahead and take pictures, they all have their trunks on 17
  • 18. 18 ©2014 Cloudera, Inc. All rights reserved. Scalability • ingest millions of entries • run over tens of nodes (up to 80) • watch performance, esp. across versions 18 CC BY-ND 2.0 Loren Javier, shutterbug extraordinaire
  • 19. 19 ©2014 Cloudera, Inc. All rights reserved. Joke time Why did the elephant quit her testing job? • She was tired of working for peanuts. • She had had it up to ear. • She herd about a better job. • There were just too many wrinkles. • Her desire to do it was stamped out. 19
  • 20. 20 ©2014 Cloudera, Inc. All rights reserved. Performance - Benchmarks 8 benchmark implementations, e.g.: • lots of small records • create, delete many tables • insert one terabyte of data 20 CC BY-ND 2.0 Loren ... Javier
  • 21. 21 ©2014 Cloudera, Inc. All rights reserved. Performance - Yahoo! Cloud Serving Benchmark • Accumulo binding • workloads with 2 phases • load data • run test • customizable record count, field length, etc. • multiple clients 21 CC BY-ND 2.0 Nancy Nally
  • 22. 22 Returning to the Summit Make sure you have all your personal belongings with you ... smartphones, small children ... children left behind will be forced to write unit tests 22
  • 23. 23 ©2014 Cloudera, Inc. All rights reserved. Still more to do • more unit and integration test coverage (≈30%) • attention to static analysis • chasing performance regressions • easier to run 23 CC BY-ND 2.0 nice work, Loren Javier
  • 24. 24 ©2014 Cloudera, Inc. All rights reserved. Thanks • Sean Busbey & Mike Drob • Accumulo committers and community • fellow Clouderans • Loren Javier • my audience 24 CC BY 2.0 Justin Ennis
  • 25. 25 ©2014 Cloudera, Inc. All rights reserved. Visit our booth! 25 CC BY-ND 2.0 Loren Javier, head photographer
  • 26. 26 ©2014 Cloudera, Inc. All rights reserved. The most dangerous part of our journey 26 CC BY-ND 2.0 Loren Javier
  • 27. 27 ©2014 Cloudera, Inc. All rights reserved. 27 Please exit the boat Watch your step and mind your head. If you hit your head, watch your language

Editor's Notes

  1. Feel free to gather together, it makes the heating system in the conference center work better. They say you can always judge the quality of a talk by the line to get in. ... My point, exactly.
  2. I was going to think of some barrel jokes, but I never got around to it. If I had, they would have tested your mettle.
  3. Anyone know what kind of snake that is in the picture? ... Starts with a P? ... No, it’s a plastic snake. Pythons make bad testers. They find the work too constricting. They also only get to work for scale.
  4. By renaming the functional tests, some people think we took the fun out of them. I don’t know, I think they turned inta great stuff. If anyone is wondering, those natives are from the Britney tribe. You can tell by the spears.
  5. Apes also make bad testers, they’re always monkeying around. Drives their managers bananas.
  6. Continuous tests ... I could go on and on about them. And I wouldn’t be discreet. You always need to double-check the test reports from one of these big cats, because they could always be a lyin’. I would have expected they’d take more pride in their work. That’s the mane thing.
  7. These monkeys make better testers than the apes. They really get into the swing of it.
  8. Failures are an unavoidable fact of life when working with Accumulo clusters ... or attending Accumulo talks. I’m really only giving you a quick crash course on failure testing here. I hope that’s plane to everyone.
  9. Crocodiles aren’t so bad as testers. They always have smiles on their faces, but they tend to get snappy.
  10. Being benchmarks, these tests sometimes don’t sit well with people. They cushion their criticism, though. Me, I think that’s just lazy, boy.
  11. Also documentation, especially Javadoc.
  12. This is Sam, our head recruiter for this area. Although he does complain his candidate pool has been shrinking.
  13. We are entering the most dangerous part of our journey ... crowds in the hall / the lunch rush / driving over DC-area roads. Thanks for riding along and have a great day. Or, as Christopher Walken would say, (as Walken). Or, as Charlie Brown’s teacher would say, “wa wa wa-wa wa”. If you enjoyed this talk, my name is Bill and I’m from Cloudera. If you didn’t, my name is Larry and I’m from Oracle.
  14. As you leave, please don’t step on anyone’s feet. You’ll feel like a heel, and we’ll have to call a toe truck. Then you’d have to foot the bill. Don’t go out the window, it’s pane-ful. I hope that’s clear. Of all the audiences I’ve had, you’re the most ... recent.