Fwd: New Version Notification for draft-divilly-status-555-00.txt

Colm Divilly <COLM.DIVILLY@ORACLE.COM> Tue, 24 March 2020 23:06 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 7D5AC3A080B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 24 Mar 2020 16:06:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.913
X-Spam-Status: No, score=-2.913 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, MIME_QP_LONG_LINE=0.001, RCVD_ILLEGAL_IP=1.3, RCVD_IN_MSPIKE_H2=-1.463, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id Hhpxpv-zseO2 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 24 Mar 2020 16:06:28 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0AA83A0860 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 24 Mar 2020 16:06:27 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1jGsZa-0007a0-0n for ietf-http-wg-dist@listhub.w3.org; Tue, 24 Mar 2020 23:03:02 +0000
Resent-Date: Tue, 24 Mar 2020 23:03:02 +0000
Resent-Message-Id: <E1jGsZa-0007a0-0n@lyra.w3.org>
Received: from mimas.w3.org ([]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <COLM.DIVILLY@ORACLE.COM>) id 1jGsZX-0007Yx-FY for ietf-http-wg@listhub.w3.org; Tue, 24 Mar 2020 23:02:59 +0000
Received: from aserp2120.oracle.com ([]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <COLM.DIVILLY@ORACLE.COM>) id 1jGsZU-0007Y9-N3 for ietf-http-wg@w3.org; Tue, 24 Mar 2020 23:02:59 +0000
Received: from pps.filterd (aserp2120.oracle.com []) by aserp2120.oracle.com ( with SMTP id 02OMh358159161 for <ietf-http-wg@w3.org>; Tue, 24 Mar 2020 23:02:43 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : content-transfer-encoding : from : mime-version : subject : message-id : date : to; s=corp-2020-01-29; bh=/pzxj25n0DJL3nU3DZXR9FBohQc8Zjmxk9XVStcua0s=; b=Bav519RofmegD7PWFjVtvGNxjenq4fmroUsefSIq5K/IJzwRpo4aKPUzSIVO4cU+0EBN blK9uqOSwxWBflIeKXDr+epqkMpLklVEqEtuCdTmno2fCLJmZzLMrHtXymJbq0ZcJrPG 70bO2JHQyvKhuhTWEai9A0t6ULFMPBmN2SL7WNYYS72tbL4F7AEOT/OInQ/kr+8GLGn3 Hu9MonO39eV6Xi7cJt07ptb+NggDSB4DordocHxBJ7c1MTsltZt/+k3FKkqEbZX30OUq 3c8oXzMPGvL5/ga6neUe53yiUmmMd0HJG3ule3JidjwqtdjLv7tcZEg46Ozlotps+Yfl SA==
Received: from aserp3020.oracle.com (aserp3020.oracle.com []) by aserp2120.oracle.com with ESMTP id 2ywavm71ch-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <ietf-http-wg@w3.org>; Tue, 24 Mar 2020 23:02:43 +0000
Received: from pps.filterd (aserp3020.oracle.com []) by aserp3020.oracle.com ( with SMTP id 02OMoZgF131418 for <ietf-http-wg@w3.org>; Tue, 24 Mar 2020 23:02:43 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com []) by aserp3020.oracle.com with ESMTP id 2yymbunx6c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <ietf-http-wg@w3.org>; Tue, 24 Mar 2020 23:02:42 +0000
Received: from abhmp0013.oracle.com (abhmp0013.oracle.com []) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 02ON2gPH022029 for <ietf-http-wg@w3.org>; Tue, 24 Mar 2020 23:02:42 GMT
Received: from [] (/ by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 24 Mar 2020 16:02:42 -0700
Content-Type: multipart/alternative; boundary="Apple-Mail-98345823-3B0E-4814-879F-E397A6524B37"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
Message-Id: <84C127AC-BA21-4CD8-9F79-8920ADE5BA4C@ORACLE.COM>
Date: Tue, 24 Mar 2020 23:02:38 +0000
To: ietf-http-wg@w3.org
X-Mailer: iPhone Mail (17D50)
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9570 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003240112
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9570 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 malwarescore=0 priorityscore=1501 mlxscore=0 bulkscore=0 clxscore=1015 impostorscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003240112
Received-SPF: pass client-ip=; envelope-from=COLM.DIVILLY@ORACLE.COM; helo=aserp2120.oracle.com
X-W3C-Hub-Spam-Status: No, score=-2.1
X-W3C-Scan-Sig: mimas.w3.org 1jGsZU-0007Y9-N3 29b0e890d6e31d6df2abfe3cbbbcefaf
X-Original-To: ietf-http-wg@w3.org
Subject: Fwd: New Version Notification for draft-divilly-status-555-00.txt
Archived-At: <https://www.w3.org/mid/84C127AC-BA21-4CD8-9F79-8920ADE5BA4C@ORACLE.COM>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37476
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hi All,
 for a product I help develop: Oracle REST Data Services (ORDS) [1], we provide a hosted environment where third party users can dynamically at runtime define their own REST APIs using SQL. Naturally there will be coding and runtime errors in these REST APIs. This creates a challenge for users and operators. When such a resource raises an error the only appropriate HTTP status code to use is 500 Internal Server Error. This causes confusion as it looks like there is something wrong with ORDS, where in fact there is only something wrong with the user supplied SQL. Despite explanatory text to clarify this, operators and users very often miss this distinction, and file support issues against ORDS. Further, automated tools that monitor the access log only see the 500 status code, and thus cannot differentiate between 'real' 500 errors in ORDS itself that need remediation versus 500 errors in the user supplied REST APIs that probably do not need any remediation. If a distinct status code for these kinds of errors appeared in the access log, it makes it immediately clear to both humans and tools that the error condition is caused by a user defined resource.

We believe assigning a new HTTP status code (we chose 555 just because it is memorable) to clearly identify errors arising in these dynamically defined user REST APIs is the cleanest way to resolve this confusion. TBH not sure if this use-case is common enough to be worth standardising, so have filed this as an 'Informational' draft. Perhaps 'serverless' platforms that have a similar paradigm of third party users publishing programmatic resources to their platforms might also find this approach useful.

Appreciate any feedback anyone may have on this approach.

Colm Divilly

[1]: https://oracle.com/rest

> Begin forwarded message:
> From: internet-drafts@ietf.org
> Subject: New Version Notification for draft-divilly-status-555-00.txt
> Date: 20 March 2020 at 11:35:55 GMT
> To: "Colm Divilly" <colm.divilly@oracle.com>
> A new version of I-D, draft-divilly-status-555-00.txt
> has been successfully submitted by Colm Divilly and posted to the
> IETF repository.
> Name:		draft-divilly-status-555
> Revision:	00
> Title:		User Defined Resource Error HTTP Status Code
> Document date:	2020-03-20
> Group:		Individual Submission
> Pages:		5
> URL:            https://www.ietf.org/id/draft-divilly-status-555-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-divilly-status-555/
> Htmlized:       https://tools.ietf.org/html/draft-divilly-status-555-00
> Htmlized:       https://datatracker.ietf.org/doc/html/draft-divilly-status-555
> Abstract:
>   This document specifies an additional HyperText Transfer Protocol
>   (HTTP) status code to indicate server error conditions arising during
>   evaluation of user defined resources hosted by the server.
> Conventions and Terminology
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
> The IETF Secretariat