日期:2014-05-16  浏览次数:20441 次

eXtremeDB相关问题解答(1)

这些问题基于eXtremeDB 4.5 1776

1, Ifthe asynchonous event happened 100 times in a short period, would all the 100events would be handled sequentially?

100个异步event同时发生是否都能被处理(即若一个异步事件还在响应中,又来了数个新的异步事件,后来的事件是否会丢失)

 

Eventshave a semantics and behavior of a a unix-style signals。如果没有处理,就会丢失,可以考虑TL选项来协同处理。

 

2,Dothe XML interface have any specific requirements about the data precision? CouldeXtremeDB support the XSD ?

XML的相关数据精度要求,是否支持XSD(导入导出浮点数的方式)

 

暂时不支持。

 

 

3, How is the sniffer recover the dead transaction? What is theprocedure?

发现有hang的事务后,Sniffer怎么恢复事务?

This function inspects the state of allconnections to the database using the

provided user's callback function. Itperforms database recovery if dead

connections were detected. The callbackuser defined function must implement

logic (using OS, timeout, watchdogs,...) todetect dead database connections.  If

this callback returns MCO_S_DEAD_CONNECTIONthen recovery of the

database will be performed according to thesniffer policy specified.

The following enum defines sniffer policy(when sniffer should call user's

callback to check status of connection):

typedef enum mco_sniffer_policy {

MCO_SNIFFER_INSPECT_ACTIVE_CONNECTIONS,

MCO_SNIFFER_INSPECT_ACTIVE_TRANSACTIONS,

MCO_SNIFFER_INSPECT_HUNG_TRANSACTIONS

} mco_sniffer_policy;

The following typedef defines the usercallback which detects dead connections:

typedef MCO_RET (*mco_sniffer_callback_t)

(mco_db_h db,

void* context,

mco_trans_counter_t trans_no);

Nothing should be done to affect the inputparameters. These parameters are:

db: database connection handle.

context: user defined connection context.From the eXtremeDB point of view

this is opaque data of size MCO_CFG_CONNECTION_CONEXT_SIZEwhich is filled by

mco_db_connect_ctx() function.

trans_no: number of active transaction (0if there is no active transaction) .

It should return MCO_S_DEAD_CONNECTION toforce database recovery or

MCO_S_OK if the connection is ok; any otherreturn code will cause

mco_db_sniffer() to interrupt and returnthis error code.

 

如果有MCO_S_DEAD_CONNECTION,就会自动调用mco_db_recover(  mco_db_h db,mco_db_h recover_db ); Normally adatabase that was not properly closed (perhaps after a system crash) will berecovered automatically during the mco_db_open_dev(). This function allows anapplication to explicitly recover a database.

详情可参考sniffer的源码。

                                                       

 

 

 

4, Kernelveriosn could support vxworks 653?

Kernel是否可以在vx653上运行

不支持,接下来的版本会考虑这个问题。

 

5, Whatthe steps need to port th1e eXtremeDB from 3.5 to 4.5?

从3.5移植到4.5需要什么步骤,需要注意什么。

 

3.5到4.5基本没有太多的接口差异问题,可以从编译,链接等基本步骤做起,目前没有什么需要注意的事项。

 

6, What is the meaning of Mcocomp –f option?

Mcocomp –f 这个参数什么意思?

 

声明mco文件名称,默认情况下mco的文件名称可以放在最后,用-f后可以放在其他参数中间。

 

7, Couldthe database created with eXtremeDB 3.5 be opened by runtime of 4.5?

eXtremeDB3.5创建的数据库是否能被4.5打开。

 

不可以,需要数据导入到xml等方式进行数据的备份恢复。