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

[#81] Index user and group permissions (4-2-stable) #95

Open
wants to merge 3 commits into
base: 4-2-stable
Choose a base branch
from

Conversation

d-w-moore
Copy link
Contributor

No description provided.

@d-w-moore d-w-moore changed the title [81] Index user and group permissions [81] Index user and group permissions [4-2-stable] Mar 30, 2022
@d-w-moore d-w-moore changed the title [81] Index user and group permissions [4-2-stable] [#81] Index user and group permissions (4-2-stable) Mar 30, 2022
@d-w-moore d-w-moore marked this pull request as draft March 30, 2022 01:23
@d-w-moore d-w-moore marked this pull request as ready for review April 1, 2022 14:34
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Show resolved Hide resolved
packaging/test_plugin_indexing.py Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
es_mapping.json Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
libirods_rule_engine_plugin-indexing.cpp Outdated Show resolved Hide resolved
packaging/test_plugin_indexing.py Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
indexing_utilities.cpp Outdated Show resolved Hide resolved
packaging/test_plugin_indexing.py Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
path_calc.hpp Outdated Show resolved Hide resolved
@trel
Copy link
Member

trel commented Apr 7, 2022

resolve the comments once they're handled.

@trel
Copy link
Member

trel commented Apr 8, 2022

point of order - there are no more unresolved comments on this...

so... thoughts on squashing?

@d-w-moore
Copy link
Contributor Author

Definitely, one final test though. Expect green, but don't want any surprises.

@d-w-moore
Copy link
Contributor Author

Squashed

@trel
Copy link
Member

trel commented Apr 9, 2022

i see two commits - the first will be reverted/removed before this is ready to merge?

@d-w-moore
Copy link
Contributor Author

The first commit is a way of gracefully handling a issue/bug introduced in 4.2.9 iRODS server . Unrelated, so I could move it to be its own pull request, which might make more sense.

@d-w-moore
Copy link
Contributor Author

Hm, looking at it again: it doesn't do much that's useful either, that "revert me on resolution of irods/irods#6100". Just changes the information that's logged. Probably will just drop it then. I am not sure how to handle replication with regard to indexing.

@d-w-moore
Copy link
Contributor Author

d-w-moore commented Apr 9, 2022

I remembered why the revert me... 6100 change was done , originally.

An attempt to irepl will (post-4.2.9) results in seemingly obtuse message such as the following , whenever the indexing plugin is configured:

vagrant@ubun18y:~/github/b$ irepl -R abc a
remote addresses: 127.0.0.1 ERROR: replUtil: repl error for /tempZone/home/rods/a, status = -130000 status = -130000 SYS_INVALID_INPUT_PARAM
Level 0: resc hier is null

Does that leave a bad taste in anyone's mouth? I don't really have an opinion about it. This particular commit merely added a little extra diagnostic to the printed-out message that warned that the new replica would not be indexed because (after 4.2.9) resc_hier will aways be null on replication.

@trel
Copy link
Member

trel commented Apr 9, 2022

we should definitely NOT be printing that out. we should also not have anything to index after a replication - there's no new data to be indexed... so, indexing should ignore replication...? yes?

@d-w-moore
Copy link
Contributor Author

There's the case of a full-text indexing operation that we'd need to perform on the target repl if, previous to the replication, no repl's had yet existed on indexable resources.

@d-w-moore
Copy link
Contributor Author

But the indexing plugin has write-only access to what is in elasticsearch.... so, if we attacked that "problem case" right now, being that irods/irods#6100 is still an issue, I'd think the solution would be the following:

Whenever a replication happens, we query unconditionally for repls existing on any indexable resources, and do a full-text on it if the AVU annotations say to do so. That's the brute-force way, but it has the advantage that we don't need the resc_hier to be non-null.
Or we wait til issue 6100 is solved and do it a more clever way, if that exists.

@trel
Copy link
Member

trel commented Apr 9, 2022

Ah, I see. Forgot about the per-resource indexing functionality.

@d-w-moore
Copy link
Contributor Author

d-w-moore commented Apr 9, 2022

So maybe I make the printing out of the distracting error message a separate issue, and "silence" it for now? Maybe also include an automatic reindex of the data object upon replication if any repls are on indexable resources.

@trel
Copy link
Member

trel commented Apr 10, 2022

So maybe I make the printing out of the distracting error message a separate issue, and "silence" it for now?

Hm, silencing seems good if it's not actually an error. More info to the user, only in the case that they need it.

Maybe also include an automatic reindex of the data object upon replication if any repls are on indexable resources.

want to avoid reindexing events that aren't necessary - so maybe we write/talk this out a bit more ... can we enumerate the relevant scenarios?

@alanking alanking dismissed their stale review May 2, 2022 14:38

Several force-pushes since this review, so the requested changes may be addressed. Removing review til I can look again

@alanking
Copy link
Contributor

irods/irods#6100 is all but resolved at this point. Can we try this again without the workaround?

@d-w-moore
Copy link
Contributor Author

d-w-moore commented Jan 20, 2023

Looks like this got left in an indefinite state. Do I need to test again with 4-2-stable . Perhaps the other branches too.

@d-w-moore
Copy link
Contributor Author

@alanking what was the workaround?

@alanking
Copy link
Contributor

19a570c and d0b2a61 are both workarounds for irods/irods#6100. That issue has been resolved in main, 4-3-stable, and 4-2-stable. I wanted to make sure that it met the expectations of this plugin before closing.

I guess you can revert the first or both of those commits and see what happens. No real rush on it, just wanted to leave a note.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants