Overview

This document explains about definition of these values on OUI Chartron.

Definition of Error Types

  • Error to Origin (50x) Hits/Sec

    • The hits per seconds of response 504. As RFC2616, "504" means "Gateway Timeout". But CS use this value for logging "Error to Origin".
    • The situation to return response 504 : If PX-503 response header starts with "O ", then log as 504.

  • Internal CDN Error (50x) Hits/Sec
    • Definition : The hits per seconds of response 505. As RFC2616, "505" means "HTTP Version Not Supported". But CS use this value for logging "Internal CDN Error".
    • The situation to return response 505 : If PX-503 response header not starts with "O " , then log as 505.

  • External Error (50x) Hits/Sec
    • Definition : The hits per seconds of response 50x received from origin.
    • If origin returns 504 or 505, CS logs as 503. (i.e. External Error = all of 5xx except 504,505)
  • Internal timeout (202) 
    • Definition : The hits per seconds of response 202.
      The situation that a request has accepted, but internal timeout
      occurs. As RFC2616, "202" means "Accepted". CS use similary this
      meaning.

      • If a real 202 response come from origin, perhit log
        has other reponse headers like "Server" or "Date", etc. But 202 response
        without other headers, the situation is internal timeout.
      • While CS retries to other nodes, CS will disconnect client connection and log as 202. In this case, request client cannot receives any http response code nor headers.

Test environment

  • Edge node : n5 (10.40.196.201)
  • Shield node : n7 (10.40.196.203), n4(10.40.196.204)
  • Origin : 10.40.198.222 (CustomHttpd)
  • Attached file : very_small.mp4 (325117 bytes)
  • Reproduce conditions
    • User -> CS edge
    • CS edge -> master or shield
    • CS shield -> origin

Error Cases by connection state

  • (CS Last level shield - origin)

  • (CS node - CS node)

  • Client - CS edge node

http.log messages

Edit Document

Error type http.log message Description
Error To Origin "read error" When using gzip compression, error occured on reading data to gzip buffer.
Error To Origin "too many downloads" The count of active connection to origin is over limit. (site's max_origin_downloads)
Error To Origin "PAD is marked dead" When
site is not dead, total origin connection per site is over 100 and
origin timeout per site is over 40% of total origin request per site,
the site is marked dead. This check is working every 20 second. And
origin connection counters are also reset every 20 seconds.

When site is dead, total origin connection per site is over 0 and origin
timeout per site is under 20% of total origin request per site, this
condition has been met every 20 seconds 3 times in raw (during 60
seconds), the site is marked undead.

When the requested cache object does not exist and the site is dead, if
num of total upstream is over than 100, CS respond 503 with "Px-503: O
PAD is marked dead".

Error To Origin "preceding upstream connection has not yet finished" When waiting prceding upstream connection at using NTLM feature (v8.2.1~)
Error To Origin "Too many upstream connections, aborting download for $(URL)" Upstream connection is over limit.
Internal CDN Error "file too large (chunked-transfer-encoding on a chunking pad)" (~
v8.0.x) Redirect to origin when data size is larger than 200MB and
use_sub_file is false and use transfer-encoding is chunked.
Internal CDN Error "bad file (disk)" The data from disk is bad.
Internal CDN Error "subfile mismatch" When using sub_file (chunking) , subfile's total content length is mismatched from first chunk's.
Internal CDN Error "short read" When Disk Cache cannot read data in right length from Disk.
Internal CDN Error "Init Task Failed" Various reason for fail MyStack.initStack()
Internal CDN Error "Selecting Master" Exception occurs on selectMaster()
Internal CDN Error "null" UpstreamConnectionHandler.doConnect()
Conditional "unknown host" upstream download fail : UnknownHostException occurred
Conditional "socket timeout" upstream download fail : SocketTimeoutException occurred
Conditional "io exception" upstream download fail : IOException occurred
Conditional "unknown exception" upstream download fail : Exception occurred
Conditional "Host lookup failed for $(host)" upstream download fail : DNS lookup failed
Conditional "Stalled download" + "Killed by connection manager after XXX" Upstream timeout
Conditional "Connect Failed" Upstream connect fail
Conditional "Read buffer filled but cannot parse" Read buffer done, but still cannot parse response header.
Conditional "reading (connection was closed prematurely)" Receiving socket close packet from upstream.
Conditional "reading response: connection was closed prematurely" connection was closed by upstream.
Conditional "The client side connection was already closed!" connection was closed by client.
Conditional "Downstream connection closed while upstream transfer chunked channel setting." Downstream connection closed while upstream transfer chunked channel setting.
Conditional "Connection closed while writing request" upstream connection was closed while writing request to upstream
Conditional "Connection closed while writing request body" upstream connection was closed while writing request body to upstream
Conditional "Connection closed while writing request body(chunked) : XX bytes sent" Error occured on ending stream Transfer-Encoding : chunked
Conditional "Invalid selection key" Java nio selection key is invalid on handling upstream connections.
Conditional "gotMoreContentDataThreaded" Exception occured in UpstreamConnection thread
     
"Conditional"
: When upstream fails, CS retries another upstream server that is
called "failover" logic. Following failover logic, If the last selected
server is origin, Error type decides "Error To Origin", other "Internal
CDN Error"

Understanding on 'Error to Origin (50x)' , 'Internal CDN Error (50x)' and 'External Error (50x)' in Chartron的更多相关文章

  1. angularjs 运行时报错ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected. node_modules/rxjs/internal/types.d.ts(81,74): error TS1005: ';' expected. node_modules/rxjs/internal/t

    解决方法: 在package.json文件里面 修改 "rxjs": "^6.0.0" 为 "rxjs": "6.0.0" ...

  2. idea报错:error java compilation failed internal java compiler error

    idea下面报如下问题 error java compilation failed internal java compiler error 解决办法:Setting->Compiler-> ...

  3. idea Error:java: Compilation failed: internal java compiler error

    idea 遇到Error:java: Compilation failed: internal java compiler error 是提示说你当前使用的编译器jdk版本不对. 按住Ctrl+Alt ...

  4. com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Cannot assign requested address: bind

    在发布 web service 时报错: Endpoint.publish(publishAddress, hl7MessageReveiver); com.sun.xml.internal.ws.s ...

  5. Error:java:Compilation failed: internal java compiler error

    在IDEA中编译时出现这个错误:Error:java:Compilation failed: internal java compiler error! Information:Using javac ...

  6. Git版本控制工具使用:Error pulling origin: error: Your local changes to the following files would be overwritten by merge

    摘自: CSDN 逆觞 git在pull时,出现这种错误的时候,可能很多人进进行stash,相关stash的请看:Error pulling origin: error: Your local cha ...

  7. Error pulling origin: error: The following untracked working tree files would be overwritten by...

    git在pull时,出现这样的错误的时候,可能非常多人进进行stash.相关stash的请看:Error pulling origin: error: Your local changes to th ...

  8. Error pulling origin: error: Your local changes to the following files would be overwritten by merge

    Git在pull时,出现这种错误的时候,可能很多人进进行stash,相关stash的请看:Error pulling origin: error: Your local changes to the ...

  9. Android studio Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to

    http://blog.csdn.net/FlyRabbit_1/article/details/74536317 Error:org.gradle.api.internal.tasks.Defaul ...

随机推荐

  1. 学习笔记:《JavaScript高级程序设计》

    第1章 JavaScript简介 1.一个完整的JavaScript实现应该由三部分组成:核心(ECMAScript),文档对象模型(DOM)和浏览器对象模型(BOM). 2.Web浏览器只是ECMA ...

  2. Java开发工具IntelliJ IDEA创建Andriod项目示例说明

    IntelliJ IDEA社区版作为一个轻量级的Java开发IDE,是一个开箱即用的Android开发工具. 注意:在本次的教程中我们将以Android平台2.2为例进行IntelliJ IDEA的使 ...

  3. [Unity3D] 如何识别屏幕边缘

    出现的问题 Unity3D中长度单位是米 使用Screen.resolutions获取的屏幕信息单位是像素 也就是说,即使获取了屏幕相关信息及参数,也无法把信息转换成可在editor中使用的信息.当时 ...

  4. 合理设置apache的最大连接数

    手头有一个网站在线人数增多,访问时很慢.初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能 ...

  5. Java 日期时间格式化

    在此记录Java日期时间格式化转换符,方便以后有需要时查找. 1.日期格式化 2.时间格式化 3.格式化常见的日期时间组合

  6. 虚拟机中Ubuntu安装vmtools

    1.解压vmtools文件为VMWARETO.TGZ VMtools文件一般在系统桌面,如果没有可以点击左上方的"虚拟机-安装VMware Tools"即可出现在桌面,也可以通过U ...

  7. python_8_guess

    #python3和2都可以 #方法1 age_of_oldboy=56 count=0 while True: if count==3: break guess_age=int(input('gues ...

  8. java基础编程—统计二进制数中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目代码 /** * 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. * Created by YuKai ...

  9. 关于html标签的两种隐藏方式

    做一个文章管理模块 有一个功能是需要根据文章分类来显示内容的标签 刚开始以为很简单 ,手放键盘上就是一顿敲. 如果类型是文章就是没问题  可是另外几种就有问题了 红框的标签一直不出来 后来找了半天然来 ...

  10. JavaScript日期加减

    JS中的日期加减使用以下方式: varcurrentDate = new Date(); 对日期加减: date.setDate(date.getDate()+n); 对月加减: date.setMo ...