Memories of a Java Runtime

It’s been a while since I wrote anything about Java Virtual Machine (JVM). I have been using Java for quite some time, yet my understanding of the inner workings of JVM seems to fade if I don’t refresh it once in a while. This posting is an attempt to renew my memories while trying to add something new. I plan to post a series of articles exploring different aspects of JVM.

(more…)

Advertisements

Anatomy of a Bug – Part I

Recently, I came across a production issue where a Zuul (Spring Cloud Brixton.SR3) edge service became unresponsive to HTTP requests. Even the health REST endpoint, which provides basic health information, of the affected service failed to respond. The Eureka registry service also advertised the unresponsive service as up. It was a Spring Boot (1.3.4.RELEASE) application with an embedded Jetty (9.3.0.v20150612 ) web container running on Red Hat Linux VM with Oracle JVM (1.8.0_31).

(more…)

Revisting Swagger

Lately, I am getting a few 'how to do' inquiries on my last Swagger posting. Most questions involve either renaming or sorting REST controllers. I also ran into a few interesting Swagger challenges in the last couple of months. Now that it has been over a year since my lasting posting on Swagger, it is a good time to revisit the subject.

(more…)

What is Docker?

Over the past one year, I posted a couple of blogs on Docker. I am not fully convinced that I have fully grasped or explained what is Docker. This is another attempt to fully understand and explain the basic concepts of Docker and the evolution of virtualization.

(more…)

XML Processing with Hive XML SerDe

Hive XML SerDe is an XML processing library based on Hive SerDe  (serializer / deserializer) framework. It relies on XmlInputFormat from Apache Mahout project to shred the input file into XML fragments based on specific start and end tags. You can find more about XmlInputFormat in “Hadoop in Practice”. The XML SerDe queries the XML fragments with XPath Processor to populate Hive tables. You can find the inner workings of this library here. In this posting, I will go over an example of XML processing in Hive using XML SerDe library.

(more…)

Swagger For the REST of Us

In the last few years, RESTful web services have become as ubiquitous as SOAP in the early 2000s. You look anywhere in the tech community, you will notice someone somewhere is either talking or doing something with REST APIs or microservices. In spite of its immense popularity, REST lacks any type of standard other than a few guiding principles. REST doesn’t have anything similar to Web Service Definition Language (WSDL). WSDL is used for describing SOAP operations, messages, and also for generating client code.

(more…)

REST API and Error Handling

Most developers don’t think of errors and exception handling while designing a REST API. However it is very critical from your API user perspective as the whole logic inside your API code is black boxed from them. If your API returns an error, the API user should be able to make sense of it so as to take any corrective action.

(more…)