diff --git a/bom/pom.xml b/bom/pom.xml
index 63d8b5cd65..8f8e6412f7 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -40,7 +40,7 @@ THE SOFTWARE.
2.0.0-M2
2.0.13
- 1881.vd39f3ee5c629
+ 1892.v73465f3d074d
2.4.21
diff --git a/core/src/main/java/hudson/model/Descriptor.java b/core/src/main/java/hudson/model/Descriptor.java
index 07789531e9..b5eb07784d 100644
--- a/core/src/main/java/hudson/model/Descriptor.java
+++ b/core/src/main/java/hudson/model/Descriptor.java
@@ -594,6 +594,9 @@ public abstract class Descriptor> implements Loadable,
return verifyNewInstance(bindJSON(req, clazz, formData, true));
}
} catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException | RuntimeException e) {
+ if (e instanceof RuntimeException && e instanceof HttpResponse) {
+ throw (RuntimeException) e;
+ }
throw new LinkageError("Failed to instantiate " + clazz + " from " + RedactSecretJsonInErrorMessageSanitizer.INSTANCE.sanitize(formData), e);
}
}
@@ -674,7 +677,7 @@ public abstract class Descriptor> implements Loadable,
+ actualType.getName() + " " + json);
}
} catch (Exception x) {
- LOGGER.log(Level.WARNING, "falling back to default instantiation " + actualType.getName() + " " + json, x);
+ LOGGER.log(x instanceof HttpResponse ? Level.FINE : Level.WARNING, "falling back to default instantiation " + actualType.getName() + " " + json, x);
// If nested objects are not using newInstance, bindJSON will wind up throwing the same exception anyway,
// so logging above will result in a duplicated stack trace.
// However if they *are* then this is the only way to find errors in that newInstance.