SlideServe
Menu
Préférences
© SlideServe · v2026

Understanding Configuration Problems in Java EE Servers: Insights from GlassFish and JBoss

jadon avatar
23 diapositives · 382 Views · Aug 14, 2014

This empirical study explores configuration problems encountered in Java EE application servers, specifically GlassFish and JBoss. The research characterizes configuration issues, employing a fault injector to analyze bug reports and demonstrate that over one-third of problems stem from configuration-related errors. The findings highlight the complexity and dynamics of server configurations, emphasizing that many issues manifest silently at runtime. Key recommendations include improving configuration resilience through automated fixes and better bug repository maintenance.

Understanding Configuration Problems in Java EE Servers: Insights from GlassFish and JBoss - slide 1
01 / 23Understanding Configuration Problems in Java EE Servers: Insights from GlassFish and JBoss
1 / 17

Télécharger la présentation

Understanding Configuration Problems in Java EE Servers: Insights from GlassFish and JBoss
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Characterizing Configuration Problems in Java EEApplication Servers: An Empirical Study withGlassFish and JBoss Fahad A. Arshad, Rebecca J. Krause, SaurabhBagchi Dependable Computing Systems Laboratory (DCSL) School of Electrical and Computer Engineering November 5th, 2013

  2. Motivation • Configuring computers is not easy • Complexity • Configurations change • Finding root-cause of a configuration problem is harder "Unfortunately (and here's the human error), the URL of '/' was mistakenly checked in as a value to the file and '/' expands to all URLs." -Marissa Mayer Evaluating Configuration Robustness is Important

  3. Overview • What ? • Characterized configuration problems in Java EE servers • Fault Injector for configuration bugs • Why ? • To improve the configuration resilience • How ? • Analyzed bug-reports • Mutated parameters in configuration files • Key Result • Bug Analysis: At-least 1/3rd problems are configuration-related • Fault Injector: Varying degree of non-silent manifestations

  4. Outline • Java EE Server Overview • Classification Methodology • Fault-Injector • Discussion and Conclusion

  5. Java EE Server Overview App A App B Java EE Server Deployment Module CLI DB JDBC Connector Admin Resources Web Browser Admin GUI

  6. Classification of Configuration Problems JBAS-1115: “missing a "/" in one spot and has a double slash "//" in another spot.” Fix: if(schemaLocation.charAt(0) !='/') schemaLocation = '/'+schemaLocation; whose fault?

  7. Bug-report Characteristics (281 Bugs analyzed) • Study-1 • Sampling-based (124 bugs) • Longer-span (multi-vers) • Study-2 • Keyword-based (157 bugs) • Shorter-span (specific-vers) Keywords Help

  8. Study-1 Results (Sampling-based) GlassFish JBoss

  9. Study-2 Results (Keyword-based) GlassFish JBoss

  10. Common Patterns Learned • Parameter-based problems occur in majority • Majority of configuration problems show-up at runtime • will directly affect users • Majority of manifestations are non-silent • still need to make the minor silent problems non-silent • Developers have a greater responsibility

  11. Outline • Java EE Server Overview • Classification Methodology • Fault-Injector • Discussion and Conclusion

  12. Inject while emulating normal server-management workflow ConfGuage: Fault-Injector

  13. ConfGuage: Fault-Injector • What to inject ? • Single character at a time, e.g., “/”, “ ” • Where to inject ? • GlassFish, JBoss, SPECjEnterprise2010 • XML attribute values in files (domain.xml, web.xml, persistence.xml) • When to inject ? • Boot-time • How to inject ? • Parse XML file • Inject based on a mutation-operators (Add, Remove, Replace) • Automate workflow(start, deploy, stop) using CARGO API

  14. ConfGuage: Fault-Injector Mutation Example

  15. Frequency Distribution of Exceptions in domain.xml • NullPointerExceptiondue to injection in attributes • <pool-name>=“jms/value” to “jms//value” • <connector-connection-pool>=“jms/value” to “jms//value”

  16. Fault-Injection Results: Non-silent manifestations Not all servers have equal configuration robustness

  17. Discussion • Observations • Inter vs Intra version configuration problems • Impact of code-refactoring/re-implementation • Silent manifestations (GF:35%), require more-intrusive checks • Recommendations • Automated fixing of parameter-values • Bug-repository maintenance • Duplicate-bug detection • Cross-referencing with Fixes

  18. Related Work • Failure Characterization [Zhou et al, SOSP 2011] • Bug-report analysis • Fault-Injection [G. Candea et al, DSN 2008] • ConfErr • Others • Auto-mated debugging of configuration problems • Autobash [Flinn et al, SOSP 2007] • Confdiagnoser[Zhang et al, ICSE 2013]

  19. Conclusions • Failure Characterization of Java EE Application Servers • Four studied-dimensions • Type, Time, Manifestation, Culprit • Fault-Injection • Parameter-based • Boot-time • Lessons learned • Configuration robustness varies from server-to-server • Not all problems are non-silent • Parameter-based issues occur most frequently and therefore require more attention

  20. Thank you Questions ?

  21. Backup Slides

  22. Bug-Characterization: Threats to Validity • Sample-size • Analyzing bugs is a manual-process, can be subjective • Quality of bugs-repository

  23. Ticket Frequency