使用commons.net 闰年 ftp文件的问题。

来源:互联网 发布:mac vim insert 编辑:程序博客网 时间:2024/05/16 15:31

 2012年2月29日凌晨给核心系统进行了升级,升级的是后台的C程序。升级后时刻注意升级后的情况。

到10多的时候,到机房去看看运行情况,结果发现有好多人在机房解决问题,一打听,是前置等几个系统某些使用ftp主动获取文件的交易无法取得文件,再打听,不是无法从核心系统取得文件。看起来与我升级程序没有关系。看他们很忙的样子,我就知趣的离开了。

中午吃饭时,硬件主管刚端上饭准备吃呢,接到一个电话,意思是ftp文件失败的问题可能是网络变更导致的。饭没吃一口呢,就直接去机房了。看来上午那个问题还没有查到原因。

吃完饭回工位休息,看到硬件主管又出发去机房,忧心重重的样子。抱着试试看的心态,我也跟了过去。

机房里还是乱乱的,问题仍没有解决,有怀疑网络变更的,有怀疑程序的,运维主管开玩笑地说:跟你升级核心系统有关系吗?我当然是知道是没有关系的。但仍需要去解决,谁让咱是科技部的呢。

开始了解情况,在七嘴八舌中,了解了大概情况:

1. 从早上9点来钟开始,三个系统出现ftp从其他系统获取文件失败的情况,到现在仍是这个情况。

2. 用ftp 命令可以传文件。

3. 应用系统使用的是apache的开源软件,经查是,具体是commons-net.1.4.1,用其中的ftpClient。

4. 昨天这些系统的硬件、网络、系统都没有发生变更,昨天还好好的,今天就不能传文件了。

大家都很迷茫。

由于核心是凌晨上线,对2月29日这个日期我是比较敏感的,就提出我的怀疑:是不是与闰年有关?

然后提出行动1:看看在测试环境上是否也出现此问题。

                              结果问题复现了。看来确实是与闰年有关系。

那么是谁有这个问题呢?是操作系统?还是别的什么东西?

我首先怀疑的是commons-net。也有怀疑别的方面的。

按照我的怀疑,提出行动2:从网上下载commons-net的较新和稳定版,上官网一看:现在已经是3.1了,需要Java 1.5或以上。 经确认,这几个系统的jre都在1.5以上。

提出行动3:把新版本拿到测试上试试看。

                             结果是,问题解决了。

剩下的就是测试,提出上线方案,发通知等等流程上的事情了,我的嫌疑成功洗脱。

 

后上网查看,发现1.4.1版本在在get  2月29日生成的文件时,存在bug, 详见 http://commons.apache.org/net/changes-report.html#a2.0 commons-net 2.0的release notes, 对应的bug是 NET-188。

至于开源软件的使用和管理问题,另话再议。

 

 

原创粉丝点击