Page MenuHomePhabricator

[services] Tunnelbroker - Remove checkpoints from the database
ClosedPublic

Authored by max on Nov 28 2022, 5:42 AM.
Tags
None
Referenced Files
F3359424: D5733.id18863.diff
Sun, Nov 24, 9:00 AM
F3358798: D5733.diff
Sun, Nov 24, 6:09 AM
Unknown Object (File)
Fri, Nov 22, 7:59 AM
Unknown Object (File)
Fri, Nov 22, 7:59 AM
Unknown Object (File)
Fri, Nov 22, 7:53 AM
Unknown Object (File)
Fri, Nov 22, 7:45 AM
Unknown Object (File)
Fri, Nov 8, 5:18 PM
Unknown Object (File)
Thu, Nov 7, 5:48 AM
Subscribers

Details

Summary

In past research, we decided to switch from the time-based message checkpoints to the unique message Ids because of the complexity of the time synchronization between the service instances. The checkpoints-related fields are still in the database model and should be removed.

The full context is in ENG-1158.

Linear task: ENG-2357

Test Plan

Service is successfully built.

Diff Detail

Repository
rCOMM Comm
Branch
remove-checkpoints
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

max held this revision as a draft.
max published this revision for review.Nov 28 2022, 5:50 AM
max edited the summary of this revision. (Show Details)
max edited the test plan for this revision. (Show Details)
max added a reviewer: varun.

Adding a @tomek because I think he's the only one who has a full context on this.

Still build fine, so not likely to be used.

But defer to @tomek on whether this the correct thing strategically.

Are there any other changes that have to be made? E.g. on AWS or in any config file?

In D5733#170956, @max wrote:

Adding a @tomek because I think he's the only one who has a full context on this.

After a couple of months I guess that no one has full context and we all have to figure this out.

This revision is now accepted and ready to land.Nov 28 2022, 10:26 AM

Is there a Terraform config for this?

In D5733#171182, @tomek wrote:

Are there any other changes that have to be made? E.g. on AWS or in any config file?

In D5733#170956, @max wrote:

Adding a @tomek because I think he's the only one who has a full context on this.

After a couple of months I guess that no one has full context and we all have to figure this out.

Haha, that's true )

Is there a Terraform config for this?

No, because it's not an indexed or primary field.

No, because it's not an indexed or primary field.

Not crazy that we don't have a Terraform config for this, but your reasoning for why is confusing to hear. Seems that you're implying that we cannot have a Terraform config for certain fields. Is that because those fields are not defined on the AWS side at all?

Not crazy that we don't have a Terraform config for this, but your reasoning for why is confusing to hear.
Is that because those fields are not defined on the AWS side at all?

Correct! it's not defined on the AWS DynamoDB at all. DynamoDB tables are schemaless - other than the primary key, sort key or secondary index, we do not need to define any extra attributes or data types when creating a table.
That's why Terraform will not have a config for fields that are not primary, sort key, or indexes - not all fields are defined in Terraform DynamoDB config and the CheckpointTime is one of that because we don't have any indexes and it's not a primary or sort key.

In D5733#171182, @tomek wrote:

Are there any other changes that have to be made? E.g. on AWS or in any config file?

Nope, we have not used it heavily so it was only as a database model.