SlideShare uma empresa Scribd logo
1 de 11
Apache Cassandra 4.0 NIO MessagingService
Japan Cassandra Community
Cassandra Study
Kazutaka Tomita
SELF INTRODUCTION
Kazutaka Tomita (@railute)
• INTHEFOREST Co., Ltd. CEO/CTO
• Consulting for Apache Cassandra and Apache Spark Systems
• Supporting for Apache Cassandra in Japan
• An organizer of Cassandra Summit Tokyo
Specialty
• RDBMS (Oracle,SQLServer,MySQL,PostgreSQL)
• Apache Cassandra
• Apache Spark
• Apache Hadoop with YARN
• And the other NoSQL
• NLP and Text mining for Japanese
Background
The internode networking on Apache Cassandra
Changed Points
Introduction
Background
PURPOS
E
In Apache Cassandra 4.0, the first major changes
to the network layer have been implemented.
The purpose of this slide is reviewing this change
in order to consider how it will affect Apache
Cassandra.
Background
Background
Background for Changed
As the number of nodes in the cluster increases, the
performance impact from the context switch becomes more
apparent.
Value Percentile TotalCount 1/(1-Percentile)
0.000 0.000000000000 5554
1.00
~snip~
1634.303 0.987500000000 1229643
80.00
1688.575 0.989062500000 1231596
91.43
1756.159 0.990625000000 1233523
106.67
~snip~
148176371.711 0.999999237061 1245183
1310720.00
148176371.711 1.000000000000 1245183
Value Percentile TotalCount 1/(1-Percentile)
0.000 0.000000000000 21883 1.00
~snip~
875.519 0.987500000000 3494765 80.00
935.423 0.989062500000 3500258 91.43
1010.175 0.990625000000 3505780 106.67
~snip~
186562641.919 0.999999761581 3538943 4194304.00
186562641.919 1.000000000000 3538943
*From CASSANDRA-8457
75% of messages within 100 microseconds and 99% within 1
millisecond.
50% of messages are sent within 100 microseconds of
each other and 92% are sent within one millisecond.
Before adaptation After adaptation
NetworkService
Networking Structure
The internode networking on Apache Cassandra
C* C*
C*
Inbound
Outbound
Gossip
Small
Large
(URGENT)
Client
The Networking Structure on Apache Cassandra
Non-Blocking IO
The internode networking on Apache Cassandra
REQUESTS
EVENT
LOOP
SINGLE
THREAD
DELEGATE
ASYNC
THREADS C*
Notification
The internode networking on Apache Cassandra
C* C*
C*
Client
The implement of NIO in 4.0 applies only to inter
nodes.
Already applied between client and coordinator nodes when implementing native
protocol The benefit is not available without proper OS configuration
beforehand, such as proper IRQ configuration or jumbo frame
adaptation.
Before 3.X
Changed Points
/**
* Listen on the specified port.
*
* @param localEp InetAddress whose port to listen on.
*/
private void listen(InetAddress localEp) throws ConfigurationException
{
for (ServerSocket ss : getServerSockets(localEp))
{
SocketThread th = new SocketThread(ss, "ACCEPT-" + localEp);
th.start();
socketThreads.add(th);
}
}
3.11.10
/**
* Listen on the specified port.
* @param localEp InetAddress whose port to listen on.
*/
public void listen(InetAddress localEp) throws IOException
{
ServerSocketChannel serverChannel = ServerSocketChannel.open();
final ServerSocket ss = serverChannel.socket();
ss.setReuseAddress(true);
ss.bind(new InetSocketAddress(localEp, DatabaseDescriptor.getStoragePort()));
socketThread = new SocketThread(ss, "ACCEPT-" + localEp);
socketThread.start();
listenGate.signalAll();
}
/**
* Listen on the specified port.
* @param localEp InetAddress whose port to listen on.
*/public void listen(InetAddress localEp) throws IOException, ConfigurationException
{
callbacks.reset(); // hack to allow tests to stop/restart MS
for (ServerSocket ss: getServerSocket(localEp))
{
SocketThread th = new SocketThread(ss, "ACCEPT-" + localEp);
th.start();
socketThreads.add(th);
}
listenGate.signalAll();
}
1.0.12
0.6.13
org.apache.cassandra.net.MessagingService
After 4.0
Changed Points
public void listen()
{
inboundSockets.open();
}
4.0-beta4
org.apache.cassandra.net.InboundSocket
org.apache.cassandra.net.MessagingService
Summary
 The bottom layer has been completely changed, so the impact is significant.
 When used in public clouds including AWS, we should take care in tuning for
servers.

Mais conteúdo relacionado

Mais procurados

Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
DataStax
 
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
Akhil Das
 

Mais procurados (20)

Cassandra Community Webinar | In Case of Emergency Break Glass
Cassandra Community Webinar | In Case of Emergency Break GlassCassandra Community Webinar | In Case of Emergency Break Glass
Cassandra Community Webinar | In Case of Emergency Break Glass
 
Development to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB ClustersDevelopment to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB Clusters
 
Cassandra Summit 2015: Intro to DSE Search
Cassandra Summit 2015: Intro to DSE SearchCassandra Summit 2015: Intro to DSE Search
Cassandra Summit 2015: Intro to DSE Search
 
DataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenterDataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenter
 
Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
Cassandra Backups and Restorations Using Ansible (Joshua Wickman, Knewton) | ...
 
Tokyo Cassandra Summit 2014: Tunable Consistency by Al Tobey
Tokyo Cassandra Summit 2014: Tunable Consistency by Al TobeyTokyo Cassandra Summit 2014: Tunable Consistency by Al Tobey
Tokyo Cassandra Summit 2014: Tunable Consistency by Al Tobey
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
 
Introducing SciaaS @ Sanger
Introducing SciaaS @ SangerIntroducing SciaaS @ Sanger
Introducing SciaaS @ Sanger
 
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSCassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
 
Developing Frameworks for Apache Mesos
Developing Frameworks  for Apache MesosDeveloping Frameworks  for Apache Mesos
Developing Frameworks for Apache Mesos
 
Containerized Data Persistence on Mesos
Containerized Data Persistence on MesosContainerized Data Persistence on Mesos
Containerized Data Persistence on Mesos
 
Lessons from Cassandra & Spark (Matthias Niehoff & Stephan Kepser, codecentri...
Lessons from Cassandra & Spark (Matthias Niehoff & Stephan Kepser, codecentri...Lessons from Cassandra & Spark (Matthias Niehoff & Stephan Kepser, codecentri...
Lessons from Cassandra & Spark (Matthias Niehoff & Stephan Kepser, codecentri...
 
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
 
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
Fully Fault tolerant Streaming Workflows at Scale using Apache Mesos & Spark ...
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
Apache cassandra architecture internals
Apache cassandra architecture internalsApache cassandra architecture internals
Apache cassandra architecture internals
 
Cassandra Redis
Cassandra RedisCassandra Redis
Cassandra Redis
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Automation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure DataAutomation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure Data
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 

Semelhante a Apache cassandra nio

Ccna interview questions
Ccna interview questionsCcna interview questions
Ccna interview questions
fazalurmsc
 
Ccna interview questions
Ccna interview questionsCcna interview questions
Ccna interview questions
Sanjay Thakare
 
ADCSS 2022
ADCSS 2022ADCSS 2022
Morethan200ccnaquesti 140420001832-phpapp02
Morethan200ccnaquesti 140420001832-phpapp02Morethan200ccnaquesti 140420001832-phpapp02
Morethan200ccnaquesti 140420001832-phpapp02
moutaz mahgoub
 

Semelhante a Apache cassandra nio (20)

What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
 
Can we run the Whole Web on Apache Sling?
Can we run the Whole Web on Apache Sling?Can we run the Whole Web on Apache Sling?
Can we run the Whole Web on Apache Sling?
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
Ccna interview questions
Ccna interview questionsCcna interview questions
Ccna interview questions
 
How Splunk Is Using Pulsar IO
How Splunk Is Using Pulsar IOHow Splunk Is Using Pulsar IO
How Splunk Is Using Pulsar IO
 
1000ccnaquestionsandanswers 091215082359-phpapp02
1000ccnaquestionsandanswers 091215082359-phpapp021000ccnaquestionsandanswers 091215082359-phpapp02
1000ccnaquestionsandanswers 091215082359-phpapp02
 
Ccna interview questions
Ccna interview questionsCcna interview questions
Ccna interview questions
 
1000 Ccna Questions And Answers
1000 Ccna Questions And Answers1000 Ccna Questions And Answers
1000 Ccna Questions And Answers
 
Ccna interview questions
Ccna interview questionsCcna interview questions
Ccna interview questions
 
200 ccna questions
200 ccna questions200 ccna questions
200 ccna questions
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
Mastering OpenStack - Episode 15 - Network Design
Mastering OpenStack - Episode 15 - Network DesignMastering OpenStack - Episode 15 - Network Design
Mastering OpenStack - Episode 15 - Network Design
 
Squash Those IoT Security Bugs with a Hardened System Profile
Squash Those IoT Security Bugs with a Hardened System ProfileSquash Those IoT Security Bugs with a Hardened System Profile
Squash Those IoT Security Bugs with a Hardened System Profile
 
Ceph Performance Profiling and Reporting
Ceph Performance Profiling and ReportingCeph Performance Profiling and Reporting
Ceph Performance Profiling and Reporting
 
ADCSS 2022
ADCSS 2022ADCSS 2022
ADCSS 2022
 
NAT_Final
NAT_FinalNAT_Final
NAT_Final
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
 
Morethan200ccnaquesti 140420001832-phpapp02
Morethan200ccnaquesti 140420001832-phpapp02Morethan200ccnaquesti 140420001832-phpapp02
Morethan200ccnaquesti 140420001832-phpapp02
 
More than 200 CCNA Question Answer
More than 200 CCNA Question AnswerMore than 200 CCNA Question Answer
More than 200 CCNA Question Answer
 
Ik
IkIk
Ik
 

Mais de Kazutaka Tomita (15)

The rethinkingofrepair
The rethinkingofrepairThe rethinkingofrepair
The rethinkingofrepair
 
Apache Cassandra 入門編
Apache Cassandra 入門編Apache Cassandra 入門編
Apache Cassandra 入門編
 
Apache cassandra 最前線
Apache cassandra 最前線Apache cassandra 最前線
Apache cassandra 最前線
 
Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析
 
Cassandra2017
Cassandra2017Cassandra2017
Cassandra2017
 
Cassandra3.0
Cassandra3.0Cassandra3.0
Cassandra3.0
 
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォームApache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
 
Cassandra compaction
Cassandra compactionCassandra compaction
Cassandra compaction
 
米国の事例で学ぶCassandra
米国の事例で学ぶCassandra米国の事例で学ぶCassandra
米国の事例で学ぶCassandra
 
Cassandra12to20
Cassandra12to20Cassandra12to20
Cassandra12to20
 
Cassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるCassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考える
 
What is row level isolation on cassandra
What is row level isolation on cassandraWhat is row level isolation on cassandra
What is row level isolation on cassandra
 
Cassandra0.7
Cassandra0.7Cassandra0.7
Cassandra0.7
 
Gossip事始め
Gossip事始めGossip事始め
Gossip事始め
 
Consistency level
Consistency levelConsistency level
Consistency level
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Apache cassandra nio

  • 1. Apache Cassandra 4.0 NIO MessagingService Japan Cassandra Community Cassandra Study Kazutaka Tomita
  • 2. SELF INTRODUCTION Kazutaka Tomita (@railute) • INTHEFOREST Co., Ltd. CEO/CTO • Consulting for Apache Cassandra and Apache Spark Systems • Supporting for Apache Cassandra in Japan • An organizer of Cassandra Summit Tokyo Specialty • RDBMS (Oracle,SQLServer,MySQL,PostgreSQL) • Apache Cassandra • Apache Spark • Apache Hadoop with YARN • And the other NoSQL • NLP and Text mining for Japanese
  • 3. Background The internode networking on Apache Cassandra Changed Points
  • 4. Introduction Background PURPOS E In Apache Cassandra 4.0, the first major changes to the network layer have been implemented. The purpose of this slide is reviewing this change in order to consider how it will affect Apache Cassandra.
  • 5. Background Background Background for Changed As the number of nodes in the cluster increases, the performance impact from the context switch becomes more apparent. Value Percentile TotalCount 1/(1-Percentile) 0.000 0.000000000000 5554 1.00 ~snip~ 1634.303 0.987500000000 1229643 80.00 1688.575 0.989062500000 1231596 91.43 1756.159 0.990625000000 1233523 106.67 ~snip~ 148176371.711 0.999999237061 1245183 1310720.00 148176371.711 1.000000000000 1245183 Value Percentile TotalCount 1/(1-Percentile) 0.000 0.000000000000 21883 1.00 ~snip~ 875.519 0.987500000000 3494765 80.00 935.423 0.989062500000 3500258 91.43 1010.175 0.990625000000 3505780 106.67 ~snip~ 186562641.919 0.999999761581 3538943 4194304.00 186562641.919 1.000000000000 3538943 *From CASSANDRA-8457 75% of messages within 100 microseconds and 99% within 1 millisecond. 50% of messages are sent within 100 microseconds of each other and 92% are sent within one millisecond. Before adaptation After adaptation
  • 6. NetworkService Networking Structure The internode networking on Apache Cassandra C* C* C* Inbound Outbound Gossip Small Large (URGENT) Client The Networking Structure on Apache Cassandra
  • 7. Non-Blocking IO The internode networking on Apache Cassandra REQUESTS EVENT LOOP SINGLE THREAD DELEGATE ASYNC THREADS C*
  • 8. Notification The internode networking on Apache Cassandra C* C* C* Client The implement of NIO in 4.0 applies only to inter nodes. Already applied between client and coordinator nodes when implementing native protocol The benefit is not available without proper OS configuration beforehand, such as proper IRQ configuration or jumbo frame adaptation.
  • 9. Before 3.X Changed Points /** * Listen on the specified port. * * @param localEp InetAddress whose port to listen on. */ private void listen(InetAddress localEp) throws ConfigurationException { for (ServerSocket ss : getServerSockets(localEp)) { SocketThread th = new SocketThread(ss, "ACCEPT-" + localEp); th.start(); socketThreads.add(th); } } 3.11.10 /** * Listen on the specified port. * @param localEp InetAddress whose port to listen on. */ public void listen(InetAddress localEp) throws IOException { ServerSocketChannel serverChannel = ServerSocketChannel.open(); final ServerSocket ss = serverChannel.socket(); ss.setReuseAddress(true); ss.bind(new InetSocketAddress(localEp, DatabaseDescriptor.getStoragePort())); socketThread = new SocketThread(ss, "ACCEPT-" + localEp); socketThread.start(); listenGate.signalAll(); } /** * Listen on the specified port. * @param localEp InetAddress whose port to listen on. */public void listen(InetAddress localEp) throws IOException, ConfigurationException { callbacks.reset(); // hack to allow tests to stop/restart MS for (ServerSocket ss: getServerSocket(localEp)) { SocketThread th = new SocketThread(ss, "ACCEPT-" + localEp); th.start(); socketThreads.add(th); } listenGate.signalAll(); } 1.0.12 0.6.13 org.apache.cassandra.net.MessagingService
  • 10. After 4.0 Changed Points public void listen() { inboundSockets.open(); } 4.0-beta4 org.apache.cassandra.net.InboundSocket org.apache.cassandra.net.MessagingService
  • 11. Summary  The bottom layer has been completely changed, so the impact is significant.  When used in public clouds including AWS, we should take care in tuning for servers.