SlideShare a Scribd company logo
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 Integration
Giacomo 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 dungtq
Viet 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
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
Abdulaziz AlMalki
 
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
Puppet
 
(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
Amazon Web Services
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using Ansible
Sonatype
 
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
Travis Wright
 
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
Vietnam Open Infrastructure User Group
 
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
 
Getput suite
Getput suiteGetput suite
Getput suite
Iben Rodriguez
 
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 testing
openstackindia
 
TIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycleTIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycle
The Incredible Automation Day
 
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 Fix
Diana 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 Debugging
Great Wide Open
 
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 
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
 
YARN
YARNYARN
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
Will Iverson
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
Konstantin Gredeskoul
 
Zoo keeper in the wild
Zoo keeper in the wildZoo keeper in the wild
Zoo keeper in the wild
datamantra
 
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
Publicis Sapient Engineering
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installations
NETWAYS
 
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
 
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
 
Elastic build environment
Elastic build environmentElastic build environment
Elastic build environment
Cachet Software Solutions Ltd
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to Production
Cloudera, Inc.
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud
 
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
RightScale
 
Tupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBTupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FB
Docker, 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
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installations
 
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
 
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

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 

Recently uploaded (20)

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 

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.