From the last blog post it has been pointed out that the bug that causes index corruption is between 1.7.0.25 to 1.7.0.55. I would like to know whether Java 1.7.0.21 is safe to run Elasticsearch with because I have another software/jar that requires me to run that particular version of Java.
The recommendations for Elasticsearch Java versions are pretty rigid. There are bugs in various JREs that affect Lucene and Elasticsearch. 1.7.0_60 seems to work correctly, at least for ES 1.3.4. (1.7.0_67 does not - it doesn't deal with empty data fields the way the ES docs say it should.) I recommend 1.7.0_60 as a good stable version, and at least at one point, that specific version was publicly mentioned for ES installs... I don't know anything about 1.8...
The first link you provide says it all: using a non-recommended JVM prior to 1.7.0_55 can lead to data corruption and loss. Don't do it.
I am using Elasticsearch 1.4.1 and have read from the following links that* Java 1.7.0.55* and above are the recommended version to run Elasticsearch with.
From the last blog post it has been pointed out that the bug that causes index corruption is between 1.7.0.25 to 1.7.0.55. I would like to know whether Java 1.7.0.21 is safe to run Elasticsearch with because I have another software/jar that requires me to run that particular version of Java.