我有一个问题,我们的数据库每分钟收到~1000次更新,我们经常收到错误响应:
TAF: 1297 (HY000) at line 1: Got temporary error 899 'Rowid already allocated' from NDBCLUSTER
Run Code Online (Sandbox Code Playgroud)
它出现在我们的客户申请中.
有没有办法在MySQL级别压制这些错误?由于我不是这个应用程序的开发人员,我不确定执行更新的语言是什么,但我推测shell脚本或C程序.
我正在使用MySQL:5.1.44-ndb-7.1.3-cluster-log(2个集群节点和1个集群mgmt节点)
我有一个问题,空值在一台服务器上验证失败,但它适用于我所有其他服务器.问题发生在较新的PHP版本(5.3.8)上,适用于较旧的版本(5.2.4).
以下是一些失败的孤立元素:
XML输入:
<clbburnfuelbias></clbburnfuelbias>
<clbburntimebias></clbburntimebias>
Run Code Online (Sandbox Code Playgroud)
XSD验证:
<xs:element name="clbburnfuelbias" type="data-fuelbias"/>
<xs:element name="clbburntimebias" type="data-timebias"/>
<xs:simpleType name="data-fuelbias">
<xs:restriction base="xs:integer">
<xs:minInclusive value="-9900"/>
<xs:maxInclusive value="9900"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="data-timebias">
<xs:restriction base="xs:integer">
<xs:minInclusive value="-59"/>
<xs:maxInclusive value="59"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
错误:
错误1824:元素'clbburnfuelbias':该值不是原子类型'data-fuelbias'的有效值.错误1824:元素'clbburntimebias':该值不是原子类型
'data-timebias'的有效值.
在运行5.2.4的不同服务器上使用完全相同的输入和XSD文件我没有错误,xml有效.
我已经尝试将minOccurs ="0"添加到元素中,我已经尝试指定nullable ="true",但仍然会得到错误.
看来我的服务器上使用PHP 5.2.4忽略了空值,并使用5.3.8拒绝了.我使用过的建议是使用两个定义的并集,一个用于整数类型,另一个用于null值:
XSD:
<xs:element name="clbburnfuelbias" minOccurs="0">
<xs:simpleType>
<xs:union memberTypes="data-fuelbias null-string"/>
</xs:simpleType>
</xs:element>
<xs:simpleType name="data-fuelbias">
<xs:restriction base="xs:integer">
<xs:minInclusive value="-9900"/>
<xs:maxInclusive value="9900"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="null-string">
<xs:restriction base="xs:string">
<xs:length value="0"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)