-
Notifications
You must be signed in to change notification settings - Fork 303
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
HPCC-30365 Add XREF Sasha service to K8s #18798
Draft
jackdelv
wants to merge
23
commits into
hpcc-systems:candidate-9.6.x
Choose a base branch
from
jackdelv:xrefContainerized
base: candidate-9.6.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 8 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
62d12fa
HPCC-30365 Add XREF Sasha service to K8s
jackdelv 1f2b539
Add constructPartFilename to CLogicalNameEntry
jackdelv 4cceb25
Check if running on localhost before setting Dafs port to 0.
jackdelv 525f982
Change error message to report missing storage planes rather than clu…
jackdelv 757a618
Move group combination to BM only.
jackdelv 4b0b9c7
Common up XRefNodes code with containerized case
jackdelv 18d94ab
Add call to calcStripeNumber and use makePhysucalPartName
jackdelv f340ccc
Use lfnHash from file metadata instead of logical filename
jackdelv 0f9ba2e
Remove ifdef _CONTAINERIZED from constructPartFilename
jackdelv b0561b2
Fix dir-per-part and stripNum masks in parseFileName.
jackdelv 6ec8287
Remove Containerized DBGLOG message from generalized BM code in onDFU…
jackdelv 43d9d89
Co-locate fullname closer to makePhysicalPartName
jackdelv 15eaf5d
Properly check for dirPerPart in file flags.
jackdelv e0b61ca
Add comment specifying meaning of localhost in xrefRemoteDirectories
jackdelv 7bc4e0d
Remove changes to runXref and add directory getting code to CXRefMana…
jackdelv 3af5870
Merge branch 'candidate-9.6.x' into xrefContainerized
jackdelv 72fe732
Remove use of addUniqueXrefNode
jackdelv 33bb654
Add example options to xref
jackdelv 44fd255
Move constructPartFilename funtion to dadfs.cpp
jackdelv 2a463a8
Change to makeStringException
jackdelv ded8478
Treat paths as case sensitive
jackdelv 5aa25a9
Match file prefix to storage plane definition
jackdelv 7fe148a
Add isContainerized() checks
jackdelv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in general, using isContainerized() vs the #define is preferrable (so that the code is scanned/compiled by developers routinely etc.)
And, if both can be avoided and the code made general (even if the use case is not currently used in bare-metal), that is most preferrable.
This is a case in point, we should cope with this even in the bare-metal case in general utility classes/methods, even though it is not configurable in BM at the moment.
But also, it looks like this exposes a wide problem(!). This function is used not just by XREF, it's also used by dadfs.cpp removePhysicalFiles
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, just noticed that removePhysicalFiles is not used by anything - we should delete it avoid confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect constructPartFilename should be deprecated (probably removed too).
In XREF's case, it needs a way to get a physical part + endpoint given the meta data it's collected.
The 'lnentry' (CLogicalNameEntry) it has built from meta data, should perhaps have a method to built it, it should know (from the meta data) if the file is striped and if it has dirPerPart.
Btw, dirPerPart (a flag in the meta data) means it has a directory extension that includes the file part number (i.e. each part is in it's own directory)
'striping' is different, and an additional directory not per part, but enumerated over N striped disks. The stripNum is calculated from a hash (@lfnHash) stored in the file meta. Originally calculated and set there by hashing the logicalfilename.
See makePhysicalPartName and it's callers (and uses of lfnHash and calcStripeNumber).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed remotePhysicalFiles and added a constructPartFilename function to CLogicalNameEntry. I had some trouble finding the dirPerPart flag in the metadata. The only examples I was able to find was using queryDirPerPart() on a StoragePlane, but when trying that it seemed the metadata was missing and it was defaulting to the return value of isContainerized().
Added lfnHash to the CLogicalNameEntry and used calcStripeNumber on the part number.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The old constructPartFilename function had some tests for it, so I couldn't delete the function without also removing the tests. Should there now be tests for the new constructPartFilename if it does get added to CLogicalNameEntry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should remove the old constructPartFilename, that is now only used by tests, and if not covered already, add tests that exercise makePhysicalPartName.
But for now, for this PR, I would just add comments that it is deprecated, but test code uses it - and open a separate JIRA to revisit sometime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the new CLogicalNameEntry::constructPartFilename, I think you can remove the changes here right? i.e.:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the _Containerized changes and added a comment to the old constructPartFilename.