You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cm...@apache.org on 2015/01/30 00:49:08 UTC
hadoop git commit: HADOOP-11403. Avoid using sys_errlist on Solaris,
which lacks support for it (Malcolm Kavalsky via Colin P. McCabe)
(cherry picked from commit e36ef3b4022a8527cdfa937c4ffc9d46e71cfe28)
Repository: hadoop
Updated Branches:
refs/heads/branch-2 d4ffca41d -> e8d154bae
HADOOP-11403. Avoid using sys_errlist on Solaris, which lacks support for it (Malcolm Kavalsky via Colin P. McCabe)
(cherry picked from commit e36ef3b4022a8527cdfa937c4ffc9d46e71cfe28)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e8d154ba
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e8d154ba
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e8d154ba
Branch: refs/heads/branch-2
Commit: e8d154baea1877d0daf81083c2d53ffa9fa46010
Parents: d4ffca4
Author: Colin Patrick Mccabe <cm...@cloudera.com>
Authored: Thu Jan 29 15:43:57 2015 -0800
Committer: Colin Patrick Mccabe <cm...@cloudera.com>
Committed: Thu Jan 29 15:48:59 2015 -0800
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++
.../hadoop-common/src/main/native/src/exception.c | 6 ++++++
.../native/src/org/apache/hadoop/io/nativeio/NativeIO.c | 7 ++-----
.../src/contrib/libwebhdfs/src/hdfs_http_client.c | 11 ++---------
4 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e8d154ba/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 9a060c2..55f2a99 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -438,6 +438,9 @@ Release 2.7.0 - UNRELEASED
HADOOP-9907. Webapp http://hostname:port/metrics link is not working.
(aajisaka)
+ HADOOP-11403. Avoid using sys_errlist on Solaris, which lacks support for it
+ (Malcolm Kavalsky via Colin P. McCabe)
+
Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e8d154ba/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
index 228af11..fc072e8 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
@@ -110,9 +110,15 @@ jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
const char* terror(int errnum)
{
+
+#if defined(__sun)
+// MT-Safe under Solaris which doesn't support sys_errlist/sys_nerr
+ return strerror(errnum);
+#else
if ((errnum < 0) || (errnum >= sys_nerr)) {
return "unknown error.";
}
return sys_errlist[errnum];
+#endif
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e8d154ba/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
index d7f8d4b..071d830 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
@@ -19,6 +19,7 @@
#include "org_apache_hadoop.h"
#include "org_apache_hadoop_io_nativeio_NativeIO.h"
#include "org_apache_hadoop_io_nativeio_NativeIO_POSIX.h"
+#include "exception.h"
#ifdef UNIX
#include <assert.h>
@@ -893,11 +894,7 @@ void throw_ioe(JNIEnv* env, int errnum)
char message[80];
jstring jstr_message;
- if ((errnum >= 0) && (errnum < sys_nerr)) {
- snprintf(message, sizeof(message), "%s", sys_errlist[errnum]);
- } else {
- snprintf(message, sizeof(message), "Unknown error %d", errnum);
- }
+ snprintf(message,sizeof(message),"%s",terror(errnum));
jobject errno_obj = errno_to_enum(env, errnum);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e8d154ba/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
index e41f950..dc58318 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
@@ -21,21 +21,14 @@
#include <curl/curl.h>
#include "hdfs_http_client.h"
+#include "exception.h"
static pthread_mutex_t curlInitMutex = PTHREAD_MUTEX_INITIALIZER;
static volatile int curlGlobalInited = 0;
const char *hdfs_strerror(int errnoval)
{
- const char *msg = NULL;
- if (errnoval < 0 || errnoval >= sys_nerr) {
- msg = "Invalid Error Code";
- } else if (sys_errlist == NULL) {
- msg = "Unknown Error";
- } else {
- msg = sys_errlist[errnoval];
- }
- return msg;
+ return terror(errnoval);
}
int initResponseBuffer(struct ResponseBuffer **buffer)