[DEV-6730] Store concluding_save with the reverse delta
parent
103c06da39
commit
61b66c24a3
|
@ -53,9 +53,10 @@ export type DeltaResult<T> = { [K in keyof T]: DeltaDatum<T[K]> | null };
|
|||
|
||||
/** Complete delta type */
|
||||
export type Delta<T> = {
|
||||
type: DeltaType,
|
||||
timestamp: UnixTimestamp,
|
||||
data: DeltaResult<T>,
|
||||
type: DeltaType,
|
||||
timestamp: UnixTimestamp,
|
||||
concluding_save: boolean,
|
||||
data: DeltaResult<T>,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1144,9 +1144,10 @@ module.exports = Class( 'Server' )
|
|||
{
|
||||
try
|
||||
{
|
||||
var rdelta_data;
|
||||
var parsed_data = JSON.parse( post_data.data );
|
||||
var bucket = quote.getBucket();
|
||||
var rdelta_data;
|
||||
var parsed_data = JSON.parse( post_data.data );
|
||||
var bucket = quote.getBucket();
|
||||
const concluding_save = post_data.concluding_save;
|
||||
|
||||
const { filtered, dapis, meta_clear, rdiff } =
|
||||
server._dataProcessor.processDiff(
|
||||
|
@ -1158,8 +1159,9 @@ module.exports = Class( 'Server' )
|
|||
{
|
||||
rdelta_data = {
|
||||
"rdelta.data": {
|
||||
data: rdiff,
|
||||
timestamp: Math.round(
|
||||
data: rdiff,
|
||||
concluding_save: ( concluding_save === 'true' ),
|
||||
timestamp: Math.round(
|
||||
new Date().getTime() / 1000
|
||||
),
|
||||
}
|
||||
|
|
|
@ -264,8 +264,9 @@ export class RatingService
|
|||
const save_data = { ratedata: data };
|
||||
const rdelta_data = {
|
||||
"rdelta.ratedata": {
|
||||
data: this._createDelta( data, quote_data ),
|
||||
timestamp: cur_date
|
||||
data: this._createDelta( data, quote_data ),
|
||||
concluding_save: false,
|
||||
timestamp: cur_date,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -105,12 +105,26 @@ export class V1MessageWriter implements MessageWriter
|
|||
const last_update_ms = { "long": meta.lastUpdate * 1000 };
|
||||
const ts_ms = ts * 1000;
|
||||
|
||||
|
||||
let step = null;
|
||||
|
||||
if( delta.concluding_save === true )
|
||||
{
|
||||
step = {
|
||||
EventStep: {
|
||||
transition: 'END',
|
||||
src: '',
|
||||
dest: '',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
event: {
|
||||
id: event_id,
|
||||
ts: ts_ms,
|
||||
actor: 'SERVER',
|
||||
step: null,
|
||||
step: step,
|
||||
},
|
||||
document: {
|
||||
id: meta.id,
|
||||
|
@ -266,4 +280,4 @@ export class V1MessageWriter implements MessageWriter
|
|||
return data_formatted;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -468,6 +468,7 @@ function getStubs()
|
|||
data: {
|
||||
_unavailable_all: [ undefined ]
|
||||
},
|
||||
concluding_save: false,
|
||||
timestamp: 123
|
||||
}
|
||||
};
|
||||
|
|
|
@ -459,9 +459,10 @@ describe( 'system.DeltaProcessor', () =>
|
|||
rdelta: {
|
||||
data: [
|
||||
{
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
concluding_save: false,
|
||||
}
|
||||
],
|
||||
ratedata: [],
|
||||
|
@ -583,9 +584,10 @@ describe( 'system.DeltaProcessor', () =>
|
|||
rdelta: {
|
||||
data: [
|
||||
{
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
concluding_save: false,
|
||||
}
|
||||
],
|
||||
ratedata: [],
|
||||
|
@ -603,9 +605,10 @@ describe( 'system.DeltaProcessor', () =>
|
|||
rdelta: {
|
||||
data: [
|
||||
{
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
data: { foo: [ 'first_bar' ] },
|
||||
timestamp: <UnixTimestamp>123123,
|
||||
type: 'data',
|
||||
concluding_save: false,
|
||||
}
|
||||
],
|
||||
ratedata: [],
|
||||
|
|
|
@ -189,17 +189,12 @@ describe( 'system.V1MessageWriter', () =>
|
|||
|
||||
if ( valid )
|
||||
{
|
||||
// return expect( result ).to.eventually.deep.equal(
|
||||
// Buffer.from( '' )
|
||||
// )
|
||||
// .then( b =>
|
||||
// {
|
||||
// expect( typeof(b) ).to.equal( 'object' );
|
||||
// } );
|
||||
return result.catch( e =>
|
||||
return expect( result ).to.eventually.deep.equal(
|
||||
Buffer.from( '' )
|
||||
)
|
||||
.then( b =>
|
||||
{
|
||||
console.log( 'avroerror: ', e );
|
||||
expect.fail();
|
||||
expect( typeof(b) ).to.equal( 'object' );
|
||||
} );
|
||||
}
|
||||
else
|
||||
|
@ -396,9 +391,10 @@ describe( 'system.V1MessageWriter', () =>
|
|||
};
|
||||
|
||||
const delta = <Delta<any>>{
|
||||
type: <DeltaType>'data',
|
||||
timestamp: <UnixTimestamp>123123123,
|
||||
data: <DeltaResult<any>>{},
|
||||
type: <DeltaType>'data',
|
||||
timestamp: <UnixTimestamp>123123123,
|
||||
data: <DeltaResult<any>>{},
|
||||
concluding_save: true,
|
||||
};
|
||||
|
||||
const expected = {
|
||||
|
@ -406,7 +402,13 @@ describe( 'system.V1MessageWriter', () =>
|
|||
id: 'STEP_SAVE',
|
||||
ts: ts * 1000,
|
||||
actor: 'SERVER',
|
||||
step: null,
|
||||
step: {
|
||||
EventStep: {
|
||||
transition: 'END',
|
||||
src: '',
|
||||
dest: '',
|
||||
},
|
||||
},
|
||||
},
|
||||
document: {
|
||||
id: doc_id,
|
||||
|
|
Loading…
Reference in New Issue