SlideShare a Scribd company logo
1 of 11
Download to read offline
© 2015 IBM Corporation
At-least-once tuple processing with
consistent regions
IBM InfoSphere Streams Version 4.0
Gabriela Jacques da Silva
Research Staff Member
g.jacques@us.ibm.com
2 © 2015 IBM Corporation
Important Disclaimer
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL
PURPOSES ONLY.
WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE
INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY
OF ANY KIND, EXPRESS OR IMPLIED.
IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY,
WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR
OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
• CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR
THEIR SUPPLIERS AND/OR LICENSORS); OR
• ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
GOVERNING THE USE OF IBM SOFTWARE.
IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion. Information regarding potential
future products is intended to outline our general product direction and it should not
be relied on in making a purchasing decision. The information mentioned regarding
potential future products is not a commitment, promise, or legal obligation to deliver
any material, code or functionality. Information about potential future products may
not be incorporated into any contract. The development, release, and timing of any
future features or functionality described for our products remains at our sole
discretion.
THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
3 © 2015 IBM Corporation
Agenda
 What are consistent regions?
 Tuple processing guarantees
 Demonstration
 Stages of consistent state establishment
 @consistent annotation
 Standard toolkit support
4 © 2015 IBM Corporation
Consistent regions enable topologies to checkpoint a
state consistent with fully processing a set of tuples
op1
op2
op3
time
op1
op2
op3
consistent
inconsistent
m1 m2 m3 m4
5 © 2015 IBM Corporation
On failures, state of the topology is reset to a
consistent one and tuples are replayed
op1
op2
op3
time
op1
op2
op3
m1 m2 m3 m4m3
6 © 2015 IBM Corporation
Use consistent regions when the application needs to
process every tuple at-least-once
 Fine-grained selection of regions by using @consistent and @autonomous
@consistent
@autonomous
at-least-once*
may receive duplicates
on replay
at-most-once
*Exactly once if
• Operator can reset state and state
of external system
• Detect duplicate to avoid re-
processing
• Tuple processing is idempotent
7 © 2015 IBM Corporation
Demo
1. Run without consistent regions – incomplete output on failures
2. Run with consistent regions – complete output on failures
8 © 2015 IBM Corporation
Establishment of a consistent state has two stages,
while restoration has a single stage
 Drain
 All in-flight tuples are forced to be processed
 Checkpoint
 Operator state (including state variables) is written to checkpoint backend
 Checkpoint backend
 File system – levelDB
 Redis
 Sharding
 Replicas
 Reset
 Operator state is read back from checkpoint backend
 New StateHandler interface exposes stages to primitive operators
9 © 2015 IBM Corporation
Configure a consistent region by parameterizing the
@consistent annotation
@consistent(
trigger={periodic|
operatorDriven},
period=3.0,
drainTimeout=30.0,
resetTimeout=30.0,
maxConsecutiveResetAttempts=5)
How to start the
establishment of a
consistent state?
How often?
When to timeout a drain?
When to timeout a reset?
How many reset retries?
10 © 2015 IBM Corporation
Many Standard Toolkit operators have been adapted
 Aggregate
 Filter
 Functor
 Punctor
 Join
 Barrier
 Beacon
 CharacterTransform
 Compress
 Custom
 Decompress
 DeDuplicate
 Delay
 DynamicFilter
 Format
 Pair
 Split
 ThreadedSplit
 Throttle
 Union
 DirectoryScan
 FileSink
 FileSource
 MetricsSink
 UDPSink
 XMLParse
 ReplayableStart
11 © 2015 IBM Corporation
More details can be found at streamsdev and
InfoCenter
http://www-
01.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.dev.do
c/doc/consistentregions.html
https://developer.ibm.com/streamsdev/2015/02/20/processing-tuples-least-
infosphere-streams-consistent-regions/
https://developer.ibm.com/streamsdev/docs/setup-redis-replication-infosphere-
streams-4-0/
https://github.com/IBMStreams/samples/tree/master/ConsistentRegions/
Samples at $STREAMS_INSTALL/samples/spl/feature/ConsistentRegion

More Related Content

More from lisanl

Highlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkitHighlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkitlisanl
 
IBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and ConfigurationIBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and Configurationlisanl
 
IBM Streams Getting Started Resources
IBM Streams Getting Started ResourcesIBM Streams Getting Started Resources
IBM Streams Getting Started Resourceslisanl
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.lisanl
 
IBM Streams IoT Integration
IBM Streams IoT IntegrationIBM Streams IoT Integration
IBM Streams IoT Integrationlisanl
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2lisanl
 
Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1lisanl
 
Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1lisanl
 
What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1lisanl
 
IBM Streams V4.1 and Incremental Checkpointing
IBM Streams V4.1 and Incremental CheckpointingIBM Streams V4.1 and Incremental Checkpointing
IBM Streams V4.1 and Incremental Checkpointinglisanl
 
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)lisanl
 
IBM Streams V4.1 and User Authentication with Client Certificates
IBM Streams V4.1 and User Authentication with Client CertificatesIBM Streams V4.1 and User Authentication with Client Certificates
IBM Streams V4.1 and User Authentication with Client Certificateslisanl
 
IBM Streams V4.1 and JAAS Login Module Support
IBM Streams V4.1 and JAAS Login Module SupportIBM Streams V4.1 and JAAS Login Module Support
IBM Streams V4.1 and JAAS Login Module Supportlisanl
 
IBM Streams V4.1 Integration with IBM Platform Symphony
IBM Streams V4.1 Integration with IBM Platform SymphonyIBM Streams V4.1 Integration with IBM Platform Symphony
IBM Streams V4.1 Integration with IBM Platform Symphonylisanl
 
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1lisanl
 
What's New in IBM Streams V4.1
What's New in IBM Streams V4.1What's New in IBM Streams V4.1
What's New in IBM Streams V4.1lisanl
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1lisanl
 
Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1lisanl
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1lisanl
 
An Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for BluemixAn Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for Bluemixlisanl
 

More from lisanl (20)

Highlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkitHighlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkit
 
IBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and ConfigurationIBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and Configuration
 
IBM Streams Getting Started Resources
IBM Streams Getting Started ResourcesIBM Streams Getting Started Resources
IBM Streams Getting Started Resources
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.
 
IBM Streams IoT Integration
IBM Streams IoT IntegrationIBM Streams IoT Integration
IBM Streams IoT Integration
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2
 
Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1
 
Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1
 
What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1
 
IBM Streams V4.1 and Incremental Checkpointing
IBM Streams V4.1 and Incremental CheckpointingIBM Streams V4.1 and Incremental Checkpointing
IBM Streams V4.1 and Incremental Checkpointing
 
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
 
IBM Streams V4.1 and User Authentication with Client Certificates
IBM Streams V4.1 and User Authentication with Client CertificatesIBM Streams V4.1 and User Authentication with Client Certificates
IBM Streams V4.1 and User Authentication with Client Certificates
 
IBM Streams V4.1 and JAAS Login Module Support
IBM Streams V4.1 and JAAS Login Module SupportIBM Streams V4.1 and JAAS Login Module Support
IBM Streams V4.1 and JAAS Login Module Support
 
IBM Streams V4.1 Integration with IBM Platform Symphony
IBM Streams V4.1 Integration with IBM Platform SymphonyIBM Streams V4.1 Integration with IBM Platform Symphony
IBM Streams V4.1 Integration with IBM Platform Symphony
 
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
 
What's New in IBM Streams V4.1
What's New in IBM Streams V4.1What's New in IBM Streams V4.1
What's New in IBM Streams V4.1
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1
 
Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
 
An Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for BluemixAn Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for Bluemix
 

Recently uploaded

Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...amitlee9823
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 

Recently uploaded (20)

Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 

At-least-once Tuple Processing with Consistent Regions for IBM InfoSphere Streams V4.0

  • 1. © 2015 IBM Corporation At-least-once tuple processing with consistent regions IBM InfoSphere Streams Version 4.0 Gabriela Jacques da Silva Research Staff Member g.jacques@us.ibm.com
  • 2. 2 © 2015 IBM Corporation Important Disclaimer THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: • CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS); OR • ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE. IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
  • 3. 3 © 2015 IBM Corporation Agenda  What are consistent regions?  Tuple processing guarantees  Demonstration  Stages of consistent state establishment  @consistent annotation  Standard toolkit support
  • 4. 4 © 2015 IBM Corporation Consistent regions enable topologies to checkpoint a state consistent with fully processing a set of tuples op1 op2 op3 time op1 op2 op3 consistent inconsistent m1 m2 m3 m4
  • 5. 5 © 2015 IBM Corporation On failures, state of the topology is reset to a consistent one and tuples are replayed op1 op2 op3 time op1 op2 op3 m1 m2 m3 m4m3
  • 6. 6 © 2015 IBM Corporation Use consistent regions when the application needs to process every tuple at-least-once  Fine-grained selection of regions by using @consistent and @autonomous @consistent @autonomous at-least-once* may receive duplicates on replay at-most-once *Exactly once if • Operator can reset state and state of external system • Detect duplicate to avoid re- processing • Tuple processing is idempotent
  • 7. 7 © 2015 IBM Corporation Demo 1. Run without consistent regions – incomplete output on failures 2. Run with consistent regions – complete output on failures
  • 8. 8 © 2015 IBM Corporation Establishment of a consistent state has two stages, while restoration has a single stage  Drain  All in-flight tuples are forced to be processed  Checkpoint  Operator state (including state variables) is written to checkpoint backend  Checkpoint backend  File system – levelDB  Redis  Sharding  Replicas  Reset  Operator state is read back from checkpoint backend  New StateHandler interface exposes stages to primitive operators
  • 9. 9 © 2015 IBM Corporation Configure a consistent region by parameterizing the @consistent annotation @consistent( trigger={periodic| operatorDriven}, period=3.0, drainTimeout=30.0, resetTimeout=30.0, maxConsecutiveResetAttempts=5) How to start the establishment of a consistent state? How often? When to timeout a drain? When to timeout a reset? How many reset retries?
  • 10. 10 © 2015 IBM Corporation Many Standard Toolkit operators have been adapted  Aggregate  Filter  Functor  Punctor  Join  Barrier  Beacon  CharacterTransform  Compress  Custom  Decompress  DeDuplicate  Delay  DynamicFilter  Format  Pair  Split  ThreadedSplit  Throttle  Union  DirectoryScan  FileSink  FileSource  MetricsSink  UDPSink  XMLParse  ReplayableStart
  • 11. 11 © 2015 IBM Corporation More details can be found at streamsdev and InfoCenter http://www- 01.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.dev.do c/doc/consistentregions.html https://developer.ibm.com/streamsdev/2015/02/20/processing-tuples-least- infosphere-streams-consistent-regions/ https://developer.ibm.com/streamsdev/docs/setup-redis-replication-infosphere- streams-4-0/ https://github.com/IBMStreams/samples/tree/master/ConsistentRegions/ Samples at $STREAMS_INSTALL/samples/spl/feature/ConsistentRegion