Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: Override registerServiceAppMapping #380

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,16 @@ public String getServiceDefinition(MetadataIdentifier metadataIdentifier) {
return etcdClient.getKVValue(getNodeKey(metadataIdentifier));
}

@Override
public boolean registerServiceAppMapping(String key, String group, String content, Object ticket) {
String appKey = toRootDir() + "mapping-data" + PATH_SEPARATOR + key + PATH_SEPARATOR + group;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use mapping-data ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use mapping-data ?

The "mapping-data" string is used as a part of the key for storing service application mappings in Etcd. In the context of this code, a service application mapping is a relationship between a service and an application, which is stored in Etcd for later retrieval.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image i found it has contanis mapping keywords

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
That's okay, I just want metadata to look the same as mapping-data

if (!etcdClient.put(appKey, content)) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does etcd support cas?

Copy link
Author

@glynnwei glynnwei Jun 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does etcd support cas?

yes

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1,The group is not at the end?
like this: toRootDir() + group + PATH_SEPARATOR + serviceKey,
2,etcd's put method does not support cas.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1,The group is not at the end? like this: toRootDir() + group + PATH_SEPARATOR + serviceKey, 2,etcd's put method does not support cas.

1、Can adjust
2、Does not support cas,etcd3 transaction?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

etcd3 transactions support cas

logger.error("Failed to put service app mapping to etcd, key(appKey): " + appKey + ", value(appName): " + content);
return false;
}
return true;
}

private void storeMetadata(MetadataIdentifier identifier, String v) {
String key = getNodeKey(identifier);
if (!etcdClient.put(key, v)) {
Expand Down
Loading