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

HPCC-33172 Zap Report should use default timerange #19388

Open
wants to merge 1 commit into
base: candidate-9.8.x
Choose a base branch
from

Conversation

rpastrana
Copy link
Member

@rpastrana rpastrana commented Jan 8, 2025

  • Supports requests sans timerange

Type of change:

  • This change is a bug fix (non-breaking change which fixes an issue).
  • This change is a new feature (non-breaking change which adds functionality).
  • This change improves the code (refactor or other change that does not change the functionality)
  • This change fixes warnings (the fix does not alter the functionality or the generated code)
  • This change is a breaking change (fix or feature that will cause existing behavior to change).
  • This change alters the query API (existing queries will have to be recompiled)

Checklist:

  • My code follows the code style of this project.
    • My code does not create any new warnings from compiler, build system, or lint.
  • The commit message is properly formatted and free of typos.
    • The commit message title makes sense in a changelog, by itself.
    • The commit is signed.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly, or...
    • I have created a JIRA ticket to update the documentation.
    • Any new interfaces or exported functions are appropriately commented.
  • I have read the CONTRIBUTORS document.
  • The change has been fully tested:
    • I have added tests to cover my changes.
    • All new and existing tests passed.
    • I have checked that this change does not introduce memory leaks.
    • I have used Valgrind or similar tools to check for potential issues.
  • I have given due consideration to all of the following potential concerns:
    • Scalability
    • Performance
    • Security
    • Thread-safety
    • Cloud-compatibility
    • Premature optimization
    • Existing deployed queries will not be broken
    • This change fixes the problem, not just the symptom
    • The target branch of this pull request is appropriate for such a change.
  • There are no similar instances of the same problem that should be addressed
    • I have addressed them here
    • I have raised JIRA issues to address them separately
  • This is a user interface / front-end modification
    • I have tested my changes in multiple modern browsers
    • The component(s) render as expected

Smoketest:

  • Send notifications about my Pull Request position in Smoketest queue.
  • Test my draft Pull Request.

Testing:

- Supports requests sans timerange

Signed-off-by: Rodrigo Pastrana <[email protected]>
Copy link

github-actions bot commented Jan 8, 2025

Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-33172

Jirabot Action Result:
Workflow Transition To: Merge Pending
Updated PR

@rpastrana
Copy link
Member Author

rpastrana commented Jan 8, 2025

Confirmed timerange-less requests result in valid ZIP file:

ecl zapgen W20250107-162736 --description="Test" --inc-thor-slave-logs --server=.
ZAP file written to ./ZAPReport_W20250107-162736.zip.
unzip ./ZAPReport_W20250107-162736.zip
Archive:  ./ZAPReport_W20250107-162736.zip
  inflating: W20250107-162736.txt
  inflating: ZAPReport_W20250107-162736.ecl
  inflating: ZAPReport_W20250107-162736.xml
  inflating: W20250107-162736.eclcc.log
  inflating: libW20250107-162736.so

@rpastrana rpastrana requested a review from asselitx January 8, 2025 19:02
@rpastrana
Copy link
Member Author

Fix removes unnecessary thrown exception when no start/end nor relative time range is found. This allows the default relative time frame +- 12 hours to be used.

@rpastrana
Copy link
Member Author

@asselitx let's meet to discuss the broader problem exposed by this issue.

It seems all input validation issues reported as exceptions are handled outside of the createAndDownloadWUZAPFile(), which seems to leave the zip file in an invalid state. See screenshot. We need to decide how these types of errors are reported back to the user. We could report the error within the file (*.log file in this case) or in a general status file for the entire ZAP report (for some reason I seem to think that file already exists, but I'm not sure)

image

@rpastrana
Copy link
Member Author

@asselitx please review

@asselitx
Copy link
Contributor

Ok yes we should talk about that. There is an "info" file included in the ZAP that is a kind of summary of the ZAP. I put a note in there when log files are excluded due to permissions. For other input validation failures we could add lines there too.

There is another code path to check- CWsWorkunitsEx::onWUCreateZAPInfo, which handles POST requests from ECLWatch. It seems that the intention may have been that these exceptions are reported to the user in ECLWatch for this case. But if you are calling GET /WsWorkunits/WUCreateAndDownloadZAPInfo then I suppose the only way to communicate the error would be in the downloaded zip itself.

Copy link
Contributor

@asselitx asselitx left a comment

Choose a reason for hiding this comment

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

Where is the +- 12 hour default applied? It may be preferable to make it explicit when extracting the relativeTimeBufferSecs to use 12hrs as the default. If it is explicit anywhere else I couldn't find it.

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

Successfully merging this pull request may close these issues.

2 participants