Azure中断-日期算术详细信息 SalesForce Wave APL解决问题比赛 Mozilla的游戏又回来了 适用于Node.js的AWS开发工具包已发布 快速数据需要新框架 适用于Node.js的Amazon SDK NASA最新的网络算法挑战 Windows开发人员中心开放通用应用程序 新的Arduino平台 Twitter曾被用来描绘纽约的幸福 2014年Kivy应用程式竞赛 Saleforce再奖励100万美元 微软的Astoria Android仿真可能不会发生 DJ必须播放几首曲目? Google更新流感模型 Windows 10 SDK现在可用 Twitter曾被用来描绘纽约的幸福 NASA的小行星追踪器挑战赛 Azure大数据公告 Acision启动Forgeathon Spark BI获得优良的谷物安全性 适用于Node.js的AWS Elastic Beanstalk 在电视上获取Windows Phone 8应用 BBC Micro:bit是C / C ++中的嵌入式设备 微软降低Windows应用商店的壁垒 英特尔老板控制机器人蜘蛛军-居里 Apache Hive增加了对集合操作的支持 亚马逊大数据 Raspberry Pi 3确认-64位售价35美元 Windows Phone 8.1尚未保密 Microsoft Apportals-分层开始菜单的重新发现 帮助使用Modern.IE进行测试 光束显示谁在追踪您 Windows 8加速PC下降 WiFi Mods非法 Microsoft开源大数据REEF Windows 10 SDK和工具-快到了! 斯坦福工程师建造基于水滴的计算机 Google上的WebGL 3D图形 夏威夷项目-适用于Windows应用的SDK Opera 12更快,更稳定 Windows 10无法失败-免费 BookSmash挑战 Firefox获取社交API-为什么? 增强现实天气 与Chrome通话 Windows 10的表现如何? Firefox 18 Beta-IonMonkey简介 英特尔升级挑战
您的位置:首页 >计算机基础 >

Azure中断-日期算术详细信息

现在我们知道了为什么Microsoft上个月会遭受其Azure Compute服务中断的困扰。这确实是最愚蠢的错误!

如果您像大多数程序员一样,您会情不自禁地想知道其他人的错误和嘲笑他们的愚蠢之处。当我们听说Microsoft的Azure服务由于a年错误而崩溃时,我们可能都感到–好日子很难,而且我们每个人都可能犯了这样的错误。因此,经过一番幸灾乐祸并反思了一般的错误之后,我们很可能照常进行了工作。

现在,我们可以再次享受整个过程,因为Microsoft提供了日期错误的确切性质的详细信息-它变得越来越愚蠢。引用Azure的Bill Laing:

GA创建转移证书时,会赋予其一年有效期。它使用当日的午夜UST作为有效期起始日期,并将该日期之后的一年作为有效期起始日期。leap日错误是Google Analytics(分析)通过简单地获取当前日期并在其年份中加上一个日期来计算有效日期。这意味着,任何试图在leap日创建转移证书的GA都会将有效日期设置为2013年2月29日,该无效日期会导致证书创建失败。

知道了?!

不用担心证书等会发生什么,专注于重要部分:

leap日错误是Google Analytics(分析)通过简单地获取当前日期并将其年份加一个来计算有效日期

这一点并不会让人感到尴尬。

公平地说,以这种方式在日期年份中单独添加一个仅在2月29日出错,但是请注意,它总是出错,没有其他复杂因素。有关的程序员在解决该问题时必须完全不知道leap年。

使用日期的唯一安全方法是将基准日期转换为基准日期,然后执行所需的任何算术运算,然后再转换回有效的基准日期。但是,这使诸如推算1年或1个月的日期之类的操作变得更加困难-您要添加365还是366?

有趣的是,当Zune(他们不再支持的音乐播放器)崩溃时,微软的另一个重大公共漏洞也归因于a年错误。神秘的部分是,在这种情况下,该错误导致Zune在2008年12月31日变成了一块砖头-但是当您意识到这是a年的最后一天时,导致您更容易猜测的那种问题-是的,这也是由于一年中有365天或366天的问题。

29thbug

您可能会认为,在Zune错误引起如此大的麻烦之后,Microsoft可能会强制执行一条指令,即对所有日期软件进行for年问题检查。

对于Azure问题,Microsoft已决定在2月份退还33%的款项,无论是否由于SSL证书不起作用对客户造成了任何问题。云基础架构的整体可靠性仍取决于程序员创建无错误或具有错误容忍性的代码的能力-这不仅取决于UPS和备份服务器。

在Azure博客中有关于如何处理该错误的更多信息,这也是一个有趣的,充满压力的恐慌故事,导致与新软件不兼容:

不幸的是,由于我们渴望部署此修补程序,因此我们忽略了这样一个事实,即我们使用较旧的HA创建的更新程序包包含为较新的HA编写的网络插件,而这两者是不兼容的。

令人振奋的是,Microsoft决定共享这么多信息。它还概述了永远不会再次发生的方式。这个特定的错误可能不会再次发生,但是我猜测这不是the年最后一次生成错误。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。