DOCK-2442: Fix sluggish events endpoint

Description
This is a draft PR that attempts to solve some of our Event-related issues with a partial rewrite of EventDAO.  I'm looking for high-level feedback on the techniques/solutions, it's purposefully not yet ready for prime time, the code is not yet polished, some of my LOG debugging is still in there, etc...
The performance problem which spurred this work is described in https://ucsc-cgl.atlassian.net/browse/DOCK-2442.
Essentially, a simple request to retrieve aofarrel's 10 latest events was taking 5+ seconds to respond:
curl -s 'https://qa.dockstore.org/api/events/31191?eventSearchType=PROFILE'
Upon investigation, I found that the webservice was retrieving a List of all aofarrel-initiated Events (more than 2200!), then conditionally filtering out the category-related Events and implementing pagination logic, in code within EventDAO:
https://github.com/dockstore/dockstore/blob/8b4da4b709a7bd4dea86e8ae7a37e54e5bc802c8/dockstore-webservice/src/main/java/io/dockstore/webservice/jdbi/EventDAO.java#L61
This took a long time and triggered many additional database queries.  There didn't really seem to be an easy way to patch the problem, so I opted for a rewrite.
Essentially, I changed all EventDAO "retrieve a list of Events" methods to use the same underlying method, which uses CriteriaQuery to construct and run a JPA query that includes the pagination and category filtering, so that most of the work occurs on the database side, and the amount of data flowing between db and webservice is greatly reduced.  This substantially improves the performance of the problematic aofarrel request, resulting in a round trip time of about 150ms on my local box.  Additionally, it makes it very easy to add new types of queries, change the paging logic, modify access control, ...
Using CriteriaQuery, it may be difficult to replicate the SQL which filters Events with dangling versions, which we previously added to triage the problem described in:
https://ucsc-cgl.atlassian.net/browse/SEAB-5057
To that end, I investigated a different solution, which removes the SQL and adds a Hibernate NotFound "ignore" annotation to Event.version, which tells Hibernate to continue if it can't link the version id and set the field to null, rather than throw.  Perhaps it's ok if such events show up in the UI with null versions, which we label appropriately ("User x added a version which has been deleted."), or if we don't like that, maybe we call a DAO method that removes the dangling version events at strategic points in the webservice?  (I haven't implemented this part yet.)
Review Instructions
Describe if this ticket needs review and if so, how one may go about it in qa and/or staging environments.
For example, a ticket based on Security Hub, Snyk, or Dependabot may not need review since those services
will generate new warnings if the issue has not been resolved properly. On the other hand, an infrastructure
ticket that results in visible changes to the end-user will definitely require review.
Many tickets will likely be between these two extremes, so some judgement may be required.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-2442
Security and Privacy
If there are any concerns that require extra attention from the security team, highlight them here.
e.g. Does this change...

Any user data we collect, or data location?
Access control, authentication or authorization?
Encryption features?

Please make sure that you've checked the following before submitting your pull request. Thanks!

[ ] Check that you pass the basic style checks and unit tests by running mvn clean install
[ ] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[ ] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[ ] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[ ] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[ ] Do not serve user-uploaded binary images through the Dockstore API
[ ] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[ ] Do not create cookies, although this may change in the future
[ ] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

To that end, I investigated a different solution, which removes the SQL and adds a Hibernate NotFound "ignore" annotation to Event.version, which tells Hibernate to continue if it can't link the version id and set the field to null, rather than throw. Perhaps it's ok if such events show up in the UI with null versions, which we label appropriately ("User x added a version which has been deleted."), or if we don't like that, maybe we call a DAO method that removes the dangling version events at strategic points in the webservice? (I haven't implemented this part yet.)

This is probably equivalent/ok


added some tests

Codecov Report

Merging #317 into master will increase coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #317      +/-   ##
==========================================
+ Coverage   78.85%   79.12%   +0.26%
==========================================
  Files          34       34
  Lines        4001     4024      +23
==========================================
+ Hits         3155     3184      +29
+ Misses        846      840       -6

Impacted Files
Coverage Δ

tests/test_date.py
97.56% <100%> (+0.21%)
:arrow_up:

dateparser/date.py
95.89% <0%> (+3.07%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 157317d...cf71bc6. Read the comment docs.

Codecov Report

Merging #317 into master will increase coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #317      +/-   ##
==========================================
+ Coverage   78.85%   79.12%   +0.26%
==========================================
  Files          34       34
  Lines        4001     4024      +23
==========================================
+ Hits         3155     3184      +29
+ Misses        846      840       -6

Impacted Files
Coverage Δ

tests/test_date.py
97.56% <100%> (+0.21%)
:arrow_up:

dateparser/date.py
95.89% <0%> (+3.07%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 157317d...cf71bc6. Read the comment docs.


Given NBT stream does not start with a TAG_Compound

Has anyone else seen this issue with backup downloaded from a realm?
8188 of 47821 Chunks render @ 244.8 cps     Error in CreateChunkAndRenderBlock: Given NBT stream does not start with a TAG_Compound
When I download from a Bedrock Realm running 1.17.34 I see this about 20 times, then there are chunks in the map that show as black.  Usually it's ones where there is a lot of player constructed objects at multiple Y levels.

My own testing seems to corroborate @TapeWerm's observation that all the affected chunks contain barrels.

I should emphasize it could be a complete coincidence, there are chunks that also have barrels that rendered just fine. Amulet Editor loaded the chunks Papyrus CS failed to, and I haven't read my world's leveldb files.

Probably related, I'm seeing odd version 9 subchunks as of 1.17.34 (using the official bedrock server) that have what appears to be an empty runtime/palette byte.
Manually parsing the data it appears to be where the paletteAndFlag usually are, there are two empty bytes followed by a single nbt.
I made a gist trying to show the data I have, compared to a valid subchunk that's at the very next subchunk_index https://gist.github.com/wraithgar/a01b99ee7433a9c8a359069952f2147e

If I wrap a if (paletteAndFlag != 0) around
for (int palletId = 0; palletId < localPalette.Size; palletId++)
{
    var (name, val) = GetNbtVal(ms);
    localPalette.Put(palletId, name, val);
}

in https://github.com/papyrus-mc/papyruscs/blob/master/Maploader/World/World.cs the map comes out fine. Heavy emphasis on I am not remotely familiar with the codebase, I would be shocked if that is a proper fix without introducing regressions.


GDScript: Use autoload singleton name in GDScriptDocGen

Closes godotengine/godot-proposals#8441.

You can't use the autoload singleton name as a class name, so I think it's safe to use the autoload name instead of the script path in the docs. If the autoload script also has a global name, then it will be used first.

test-autoload-doc.zip

Thanks!


requesting merge from forked 'howard yoo' branch to master in wavefront HQ

uploaded and merged into forked version of wavefrontHQ/nodejs-metrics. All the files are ready to be merged.

Please merge this branch to the master.


Deleted package detected

I'm a Cyber Security researcher and developer of PackjGuard [1] to address open-source software supply chain attacks.
Issue
During my research, I detected a deleted package in this repository.
Details
Specifically, the package ImageCipherLib mentioned in file README at line 14 does not exist on the public PyPI registry. A bad actor can hijack this package to propagate malicious code.
Impact
Not only your apps/services using https://github.com/samadpls/ImageCipherLib repo code are vulnerable to this attack, but the users of your open-source Github repo could also fall victim.
You could read more about such attacks here<EMAIL_ADDRESS>Remediation
Please highlight this in file README and register a placeholder package for ImageCipherLib on public PyPI soon to remediate.
To automatically fix such issues in future, please install PackjGuard Github app [1].
Thanks!

PackjGuard is a Github app that monitors your repos 24x7, detects vulnerable/malicious/risky open-source dependencies, and creates pull requests for auto remediation: https://github.com/marketplace/packjguard

Thank you for informing me about the issue. I was actually working on this problem, and I have now fixed the changes. The package is correctly named imagecipher on PyPI. If you experience any more issues or have any other suggestions, please feel free to let me know. I appreciate your help in ensuring the security and integrity of the project.
PyPI Link: https://pypi.org/project/imagecipher/


Wish for support of a new city

Add this to the city selection view in some way.
Via email would be straightforward and allow updating the user about a newly added city. A template with some helpful questions about the city would probably be a good idea.

Link to http://goo.gl/forms/F8mmjAJxw4?


onChange Event

Hey @the-airbender,
Sorry if this is a silly question, but I can't find any events that I can listen to, to let me know when the  html has changed. There's no onchange for the QuillHtmlEditor control, and there's no listeners on the controller. I couldn't see it in the examples either.

Hi @mi1971
That's a very good question. The onChange event is possible, I have worked on it but didn't include in this versions yet. You'll see it in the next version.
Thanks!

Hi @mi1971 ,
Please check out the new pre release for onChange event.
v 2.0.0-beta.1

Thank you!! I'll check it out.
On Fri, Dec 30, 2022 at 11:54 PM the-airbender @.***>
wrote:

Hi @mi1971 https://github.com/mi1971 ,
Please check out the new pre release for onChange event.
v 2.0.0-beta.1
https://pub.dev/packages/quill_html_editor/versions/2.0.0-beta.1
—
Reply to this email directly, view it on GitHub
https://github.com/the-airbender/quill_html_editor/issues/5#issuecomment-1367930731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3XUJX6LUK6DZGVHQ4B7UTWP3SR5ANCNFSM6AAAAAATMNHDUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Update ukho apis

Are the other UKHO ones going in a separate PR?

Are the other UKHO ones going in a separate PR?

Which other ones?

Sorry, looks like I missed the second commit which closes the others :+1:


confirm validation webhook is callable before updating it to fail-closed (#21354)

The validation webhook controller's endpoint readiness check isn't
sufficient in some environments. This results in "connection refused"
errors seconds after kube-apiserver advertises the endpoint is
ready. This PR adds an additional check to verify the kube-apiserver
can successful invoke the webhook. The webhook is ready to serve if
invalid configuration is rejected. If the configuration is accepted
the webhook is still configured for fail-open and the kube-apiserver
wasn't able to reach the webhook.
Manual cherry-pick of https://github.com/istio/istio/pull/21354.
(cherry picked from commit<PHONE_NUMBER>d19cf7d24d2d011817d29aa2dd6cb9)

@ayj: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.5
f65d529d7b866dfdfe7c93e332a348abe6a72be4
link
/test unit-tests_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ayj: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.5
f65d529d7b866dfdfe7c93e332a348abe6a72be4
link
/test unit-tests_istio_release-1.5

integ-pilot-k8s-tests_istio_release-1.5
f65d529d7b866dfdfe7c93e332a348abe6a72be4
link
/test integ-pilot-k8s-tests_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

--- FAIL: TestSyntheticServiceEntry (33.41s)
synthetic_serviceentry_test.go:150: failed waiting for istio/networking/v1alpha3/synthetic/serviceentries:

--- FAIL: TestController_GetPodLocality (0.01s)
--- FAIL: TestController_GetPodLocality/should_return_correct_az_if_node_has_only_zone_label (5.22s)
controller_test.go:406: wait for pod err: timed out waiting for the condition

/retest


Update stream-analytics-javascript-user-defined-functions.md

Add example Javascript UDFs based on customer incidents.

@StreamingTodd : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@StreamingTodd Thanks for contributing to docs!  Your help is much appreciated.
Longer-term, please consider using the azure-docs-pr and azure-reference-other-pr repos to get preview builds and spell-check.
Thanks! Jason

@StreamingTodd : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@StreamingTodd : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@StreamingTodd : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@mamccrea: I'm sorry - only the author of this article, @rodrigoaatmicrosoft, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Seed .js files?

Can we seed .js files so we can make data up? That'd be super mega awesome.

Just wanted to leave a note here to say that this is possible.
seed/test.js
const faker = require('faker');

const seedUsers = (userCount = 10) => {
  const dataRows = [];

  for (let userIndex = 0; userIndex < userCount; userIndex += 1) {
    const user = faker.helpers.userCard();

    dataRows.push({
      Id: faker.random.uuid(),
      Label: faker.random.word(),
      name: user.name,
      email: user.email,
    });
  }

  return dataRows;
};

module.exports = seedUsers();

Simply set test.js as one of the sources in your serverless configuration:
custom:
  dynamodb:
    seed:
      test:
        sources:
          - table: TestTable
            sources: [./seed/test.js]


Still logged-in after logout

After logout, when you refresh the page it logs you back in.

I think it's a passport issue.
The issue here:
https://github.com/jaredhanson/passport/issues/246
stack overflow discussion here:
http://stackoverflow.com/questions/13758207/why-is-passportjs-in-node-not-removing-session-on-logout
I haven't had a chance to try anything out yet, but take a look and let me know what you ended up doing.

Thanks for raising this issue.
Could be sessions not working for you. If you're in production , you're
expected to have a HTTPS connection.
I'll have a look whether we regressed or not.
On Fri, 29 Apr 2016 06:45 Huy Pham<EMAIL_ADDRESS>wrote:

I think it's a passport issue.
The issue here:
jaredhanson/passport#246
https://github.com/jaredhanson/passport/issues/246
stack overflow discussion here:
http://stackoverflow.com/questions/13758207/why-is-passportjs-in-node-not-removing-session-on-logout
I haven't had a chance to try anything out yet, but take a look and let me
know what you ended up doing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/choonkending/react-webpack-node/issues/212#issuecomment-215554846

Hi huyphamily
I looked over it and I solved it buy changing resave option to false inside server > config > express, thanks for the help though.

@Grungla Sorry it took a while for me to get back to you. Yep, it's definitely an issue.

Pushed a fix for it. Thanks!


feat: Support match file with regular expression

Here is the default regExp
// Default pruned which match regular expression
var DefaultRegExp = []string{
	`\.___jb_tmp___$`,  // generate by JetBrains ide, to detect the file change
}

If merged. So we can remove test file happily
I wanna to remove all testfile name with xxxx.test.js
and here is the patten
// Default pruned which match regular expression
var DefaultRegExp = []string{
	`\.___jb_tmp___$`,  // generate by JetBrains, to detect the file change
        `\.test\.(j|t)s`, // remove all test file
}

I I recommend to match file with regexp.
You can do more thing simply
for example: Remove Gulpfile.js
https://github.com/tj/node-prune/blob/1e61e90add69e4c3136d7d5b082bb4fc45f275f6/prune.go#L19
https://github.com/tj/node-prune/blob/1e61e90add69e4c3136d7d5b082bb4fc45f275f6/prune.go#L21
There is no need to write it twice.
just need a patten (?i)Gulpfile.js$
The regular expression put to the last step to check the file should be delete or not.
I don't think we should worry about his performance.

Go's regexps are pretty slow, curious how much of an impact it'll make, but I haven't noticed many cases where we'd need regexps


Suppress warning based on nested NonNull. Add spotbugs to common4j PR.

We're getting
RCN: Nullcheck of value previously dereferenced (RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE)

A value is checked here to see whether it is null, but this value can't be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference. Essentially, this code and the previous dereference disagree as to whether this value is allowed to be null. Either the check is redundant or the previous dereference is erroneous.

in spotbugs, because the same constructor argument has a NonNull check in both subclass and superclass (redundant).

Edit: Given that this error.... is not really useful and we're going to run into it often with Lombok, I'm going to suppress this project-wide.

@AdamBJohnsonx reset your sign off because I changed the way I fix this.


Use kube utils

Switch to kube utils to utilize bug fixes like getting all resources on kubeclass query

will close once release is created

https://github.com/razee-io/Watch-keeper/releases/tag/0.0.8


Use madison instead policy

apt-cache madison provides better output than apt-cache policy, it also can be simple parsed, like:
apt-cache madison kubeadm | awk '{print $3}' | grep -m1 ^1.17

/sig cluster-lifecycle

BTW, we can provide to provide ready one-liner for find latest verson, eg.:
Ubuntu/Debian:
apt-cache madison kubeadm | awk '{print $3}' | grep -m1 ^1.17

Centos/Fedora:
yum list --showduplicates kubeadm --disableexcludes=kubernetes | awk '{print $2}' | tac | grep -m1 ^1.17

It's up to consider


Split embedded-can?

Hi,
I noticed that the embedded-can crate is always pulling the nb crate even if it's not being used.
One option would be to add features.  Another would be to refactor the code and follow the same pattern as the embedded-hal crates (better in my opinion).
Thoughts?

the nb crate is tiny, it compiles in milliseconds. If you don't use the nb stuff, code from nb doesnt end up at all on the final binary (the linker doesn't link unused code).
IMO the split is not worth the effort.

Then why create an embedded-hal-nb crate?  Async for CAN is also in the works #585 ...

According to the stm32 bxcan project, the embedded-can crate is deprecated.
Is this the case?  Understanding the state of affairs is "complicated"...  even more so as far as CAN FD is concerned.
Any insight would be much appreciated,


Passthrough worker image for generic rpm operations

Some of the  rpm/ targets require an image to do some work (like tar up a source).
Right now it hardcodes using busybox:latest for this image.
Since it is not really intended for the rpm/ targets to stand on their own these necessary calls should pass through a worker image.

This is resolved now.


Inline encryptions and hide description

For a shorter details-page, inline the used encryptions instead of showing them as a list and hide the description of the encryptions.

Now working as intended. Might be a better solution for hiding the description and showing it as tooltip instead


⚠ Bofrost.at has degraded performance

In 8a649b4, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1929 ms

Resolved: Bofrost.at performance has improved in d90e560 after 312 days, 18 hours, 27 minutes.


Remove duplication of the curl -LO part.

Harness Developer Pull Request
This PR removes duplication of the curl -LO part for Linux/AMD-architecture installation of Harness CLI.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6594d6361f61664b0e1c15a2--harness-developer.netlify.app


Impl IntoMockRow on FromQueryResult derived structs so they can be supplied to MockDatabase's append_query_results()

Would it be possible to Impl IntoMockRow on FromQueryResult derived structs so they can be supplied to MockDatabase's append_query_results()?
As it stands, it seems the only way to provide expectations for custom model selects is to use the BTreeMap IntoMockRow impl

Hey @robot-head, can you explain more on your use case?
You can supply any IntoMockRow  into append_query_results(), including

MockRow
ModelTrait
BTreeMap<&str, Value>

https://github.com/SeaQL/sea-orm/blob/871a5e8de646eca2d1669fe69235e277f27b679e/src/database/mock.rs#L182-L207

Sorry for late response, confirming BTreeMMap<&str, Value> works just fine!

Thank you for coming back


Removal of ASP .NET Enricher

When pulling the Serilog.Sinks.Raygun into .NET Core projects that are non-web based, such as console apps or MAUI apps, the enricher requires asp .net dependencies to be pulled in.
This PR removes that dependency which removes the enricher. There are many encrichers available for http properties which can be used instead to add data to the crash reports.
However removing the enricher removes the need for Mindscape.Raygun4Net.AspNetCore which contains an interface for custom Raygun Client providers. To compensate we introduce IRaygunClientProvider which means we can implement custom Raygun Client provider in both .NET Core and .NET Framework.

Next PR will have the web project for testing :) #68


cant build

<EMAIL_ADDRESS>serve C:\vuetify-admin-dashboard-master
vue-cli-service serve

INFO  Starting development server...
98% after emitting CopyPlugin
ERROR  Failed to compile with 1 errors                                                                                17:48:23
error  in ./src/router/paths.js
Module build failed (from ./node_modules/eslint-loader/index.js):
TypeError: Cannot read property 'range' of null
at SourceCode.getTokenBefore (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\token-store\index.js:303:18)
at checkSpacingBefore (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\rules\template-curly-spacing.js:52:42)
at TemplateElement (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\rules\template-curly-spacing.js:117:17)
at listeners.(anonymous function).forEach.listener (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\safe-emitter.js:47:58)
at Array.forEach ()
at Object.emit (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:280:22)
at NodeEventGenerator.enterNode (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:294:14)
at CodePathAnalyzer.enterNode (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\code-path-analysis\code-path-analyzer.js:608:23)
at Traverser.enter [as _enter] (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\linter.js:865:28)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:132:14)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:144:34)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)
@ ./src/router/index.js 15:0-28 21:10-15

Same proble =(

cloning this repo today i had this issue then i fixed on this way:
add the following attributes:
"template-curly-spacing" : "off",
indent: "off"
on rules property in .eslintrc.js

@amphen4 if this works just create a PR, although @ClintOxx has not responded in months

Haven’t had the chance to look into it yet

@ClintOxx good to see you, I thought you abandoned the project

I’ve commented a few times recently

@ClintOxx did maybe #26 fix this issue ? Cause it solved some linting errors.
@mohaplc can you download the latest master and re-check ?

i promise i will get to this soon lol, the coronavirus messed up several of my plans for this part of the year so I'm trying to get myself in order

Sure man, no rush here. I just asked if it was resolved some how already by another PR

cloning this repo today i had this issue then i fixed on this way:
add the following attributes:
"template-curly-spacing" : "off",
indent: "off"
on rules property in .eslintrc.js

thanks, @anselal ,this helped me.

@EDMONDGIHOZO, this was provided by @amphen4, he takes the credits !!


Support for invalid url's in remote_file

Remote file currently thinks url like
some_invalid_url.google.com/somefile.txt

as a local file because it's specification invalid. This patch overrides that by doing a simple http:// prefix check if url is specification invalid.

Thank you for supporting Chef! Our process has a couple prerequisites before we can merge your contribution. We need to ensure you've completed a Contributor License Agreement (CLA) and a ticket on our ticket tracker for the release workflow. Pull requests are optional, but should always include the ticket number that they're related to for cross-referencing. Please take a moment to review the below wiki page for the appropriate steps:
http://wiki.opscode.com/display/chef/How+to+Contribute


Canon Pixma USB printer does not show up

Canon Pixma USB printer does not show up

This does see the printer:
Users-TravelMate-B117-M% sudo /usr/local/libexec/cups/backend/usb
DEBUG: Loading USB quirks from "/usr/local/share/cups/usb".
DEBUG: Loaded 184 quirks.
DEBUG: list_devices
DEBUG: libusb_get_device_list=6
DEBUG2: Printer found with device ID: MFG:Canon;CMD:BJL,BJRaster3,BSCCe,PLI;SOJ:TXT01;MDL:iP4500 series;CLS:PRINTER;DES:Canon iP4500 series;VER:1.020;STA:10;FSI:03;HRI:OTH;MSI:AOFF,BOFF,DAT,E3; Device URI: usb://Canon/iP4500%20series?serial=21178C
direct usb://Canon/iP4500%20series?serial=21178C "Canon iP4500 series" "Canon iP4500 series" "MFG:Canon;CMD:BJL,BJRaster3,BSCCe,PLI;SOJ:TXT01;MDL:iP4500 series;CLS:PRINTER;DES:Canon iP4500 series;VER:1.020;STA:10;FSI:03;HRI:OTH;MSI:AOFF,BOFF,DAT,E3;" ""

What needs to be done so that it shows up in the Printer dialog above?

Gutenprint seems to be necessary?
sudo pkg install cups-bjnp print/gimp-gutenprint, then enter usb://Canon/iP4500%20series?serial=21178C under "Enter URI", allows me to select the correct Canon driver (Gutenprint).

Is Canon LInux cifip4500 needed?
Installing sudo pkg install cups cups-filters cups-pdf gsfonts foomatic-db-engine foomatic-db gutenprint system-config-printer now...

https://forums.freebsd.org/threads/cups-no-local-printer.62762/ seems to describe this exact problem. But no solution.
What needs to be done so that the GUI above shows a USB printer?

% sudo lpinfo -v
network ipp
network beh
network ipps
network socket
network http
file cups-pdf:/
network https
network lpd
network bjnp

Seems like the problem is that
direct usb:/dev/ulpt0
direct usb:/dev/unlpt0
direct usb:/dev/ulpt1
direct usb:/dev/unlpt1

are missing there. How to get them?

https://www.freshports.org/print/cups-base says:

The device URI of USB printers has changed so you have to adjust the
printer configuration.  Go to http://localhost:631/printers/.  Click on
your printer and select "Modify Printer" in the Administration drop-down.
You should then be able to select the new URI of the printer.

This does not seem to be true for me, there is nothing but the usb://Canon/iP4500%20series?serial=21178C which I had entered manually earlier.
It seems like CUPS is not seeing USB printers!


Don't call to "Collection.toArray()" with zero length array argument

It's a tiny performance optimization patch

The lesson here is this:

You simply can't predict the performance of stuff like this. Almost always, it just won't matter, though.
Write code to be as clean and legible as possible.

That's why we use [0]. It's cleaner and easier to read.
Thanks for looking into it though; it's easy to just preach from the pulpit, some numbers always help.


Fixing spaces displays name column heading even when requests fail

Solution: story[90794162]
Before :  If apiErr happens still it will display the Spaces column heading
After  :  If apiErr happens then it will only display the apiErr message

Thanks for the PR but I don't think this issue needs to be addressed at this time.  I think the fix would only create uncertainty for users when they are traversing a large list of spaces.  The cmd will have the appearance of being hung in that case.

Looks like an accidental re-opening.


turncate-a-string code solution

Describe your problem and how to reproduce it:
I think the proposed solution code be achieved in a simpler way
Add a Link to the page with the problem:
https://github.com/freeCodeCamp/freeCodeCamp/blob/6f5610c4f3832d94c377eb179bd65fa15e8bf395/guide/english/certifications/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string/index.md#-advanced-code-solution
Tell us about your browser and operating system:
Doesn't matter

Browser Name:
Browser Version:
Operating System:

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Mu solution passed tests successfully
`function truncateString(str, num) {
// Clear out that junk in your trunk
if (num >= str.length) {
return str;
}
return str.slice(0, num) + '...';
}
truncateString("A-tisket a-tasket A green and yellow basket", 8);`

@EXPEakhasawneh The current Basic Code Solution is almost identical to yours from a logic standpoint.
function truncateString(str, num) {
  // Clear out that junk in your trunk
  if(str.length > num) {
    return str.slice(0,num)+"...";
  } else {
    return str;
  }
}

The existing solution may have an extra else statement, but yours does not add significant improvement in terms of performance.  I will let some other collaborators share their opinion.

Oh looks like the actual site a bit different from the code base
https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string/
Learners still on the previous commit https://github.com/freeCodeCamp/freeCodeCamp/commit/7d9b587191b294c27e302809794d728c422c0c3e#diff-a126fcd8a27e3fc062225a78e2b5afb5

Yea, it looks like it will be updated on the next push to production - here's the current beta site
Like Randell said, the solution is almost identical to yours. If you want to change it to what you have, you can go ahead and make a PR - I don't see a problem with either solution, but we probably don't need to keep an issue open for this.

No need to, same idea. closing the issue. would love to see release shipped faster to prod.

No need to, same idea. closing the issue. would love to see release shipped faster to prod.


JWT Secret Key is clearly visible to others

located in' functions/login.js', If you are using the same JWT secret key for https://book-flow.netlify.app/ or the production website than anyone can exploit this.

Website is in deployment stage. It's not got into production yet. When the website goes into production, we will change the key as required. As of now we are still using fake key for development purposes.

Make sure that confidential data like JWT Secret key is in .env file
Create a .env file inside functions folder and place your key there


Add ssl and base auth conf

Hi,
We add a SSL support for this awesome proxy, and we want to share it with you.
I hope you will enjoy it ;)
Best Regards

Hey @pkruk, I merged this PR with some changes on top of it.
I removed the bits for the network issue. You should make it an optional feature. Otherwise thanks again for the PR! :)

Thanks! I'm happy to hear, that our contribution make work ;)


DBZ-5710 Remove whitelist/blacklist from log messages

https://issues.redhat.com/browse/DBZ-5710

@vjuranek Applied, thanks


Make sure base64 encoding works on other platforms

Module SignatureDecoratorUtils is using base64url package which apparently doesn't work on React Native. There is an issue about that in package repo https://github.com/brianloveswords/base64url/issues/50.
I looked into the code and the problem is probably dependency on Buffer which is a globally available object in Node.js. I see two solutions:

Implement functionality on our own.
Use a different npm package with support for the web and React Native platform.

In both cases, I would suggest introducing a class JsonEncoder which would hide implementation details and provide the same API across the framework independently on a particular package.

This is fixed by #135

This is fixed by #135


Remore category "Text" from the beginners toolbox, Bob3

The datatype "text" can only be used with advanced programming blocks, so no need to confuse beginners with this.

Category is now only visible in advanced mode.


Missing braces on SQL to ReQL cheat sheet

Noted by a user via email on these two documents:

https://www.rethinkdb.com/docs/sql-to-reql/python/
https://www.rethinkdb.com/docs/sql-to-reql/javascript/

This line is missing a matching brace:

Actually, it turns out that the problem isn't a missing brace, it's an extra brace! The "}" shouldn't be there.


GeoJSON example fails

attempting to use the sample GeoJSON from https://tile38.com/topics/object-types/#geojson fails:
<IP_ADDRESS>:9851> SET city tempe OBJECT {"type":"Polygon","coordinates":[[[-111.9787,33.4411],[-111.8902,33.4377],[-111.8950,33.2892],[-111.9739,33.2932],[-111.9787,33.4411]]]}
Invalid argument(s)

It's not clear to me what exactly the problem is. I was actually trying to set a FENCE with a GeoJSON object but it was failing, then I discovered that even basic operations with GeoJSON objects were failing as well.

Hi Aaron,
I'm not seeing the problem on my side.
~ $ tile38-cli
<IP_ADDRESS>:9851> SET city tempe OBJECT {"type":"Polygon","coordinates":[[[-111.9787,33.4411],[-111.8902,33.4377],[-111.8950,33.2892],[-111.9739,33.2932],[-111.9787,33.4411]]]}
{"ok":true,"elapsed":"20.391µs"}

I'm running tile38-cli and tile38-server v1.12.3 on my MacBook. What version and platform are you running and I'll try to reproduce the issue.  Thanks.

I'm on OSX 10.12.6 running tile38 v1.12.3. But this was my mistake! Looks like this error is coming from redis-cli rather than the tile38 server. I was assuming the protocol was compatible enough that I could connect to tile38 from redis-cli. It worked for most of what I was testing, but not this.
What I'm actually trying to do is use the PHP Redis client to set these geofences, but that is failing as well. I'm wondering if the PHP Redis client is failing the same way as well. I just get back a "false" when running rawCommand from the client. Is there a trick to getting Redis clients to work with these kinds of values?

Ah thanks! That works in redis-cli now.
I'm currently using the PHP Redis extension.
I just tried with Predis, and that gave me a more helpful error:
ERR invalid argument 'OBJECT'

Sorry, I should clarify what I'm actually doing now. Here's the command I'm trying to run:
SETHOOK test http://example.com/ NEARBY group FENCE OBJECT {...}

Are you using the [rawCommand](https://github.com/phpredis/phpredis#rawcommand) like:
$redis->rawCommand('SET', 'city', 'tempe, 'OBJECT', '{"type":"Polygon","coordinates":[[[-111.9787,33.4411],[-111.8902,33.4377],[-111.8950,33.2892],[-111.9739,33.2932],[-111.9787,33.4411]]]}')

Their README says:

A method to execute any arbitrary command against the a Redis server

yep, rawCommand in Redis and executeRaw in Predis.
I get the ERR invalid argument 'OBJECT' error from tile38-cli as well. Am I not understanding the SETHOOK method? I thought that it accepted any type of geometry not just POINTS like the examples.

ahhh that makes sense! That would be a helpful example to include on https://tile38.com/topics/geofencing/ Thanks!

Good input. Thanks :)


dataZoom won't update its status when min/max of xAxis are changed.

Version
4.2.1
Reproduction link
https://gallery.echartsjs.com/editor.html?c=xPG1pygeTn&v=1
Steps to reproduce
详情见重现链接

需要用 xAxis 的 min 和 max 来实现线图前后的空白区域，空白区域前后均需要是现有数据的几倍
同时需要用 dataZoom 来实现放大和缩小（目的在于显示还没有数据的，由 min 和 max 生出的空白区域）
同时首屏数据需要显示已有数据和一部分空白区域（依靠 dataZoom.startValue 和 dataZoom.endValue ）
同时需要实现动态增加数据（依靠 data.push ）
同时需要当前页数据 follow 新数据（依靠增加 xAxis 的 min 和 max 的值）

What is expected?
新数据产生位置固定，图表整体产生向左滚动的效果。
What is actually happening?
首屏数据不不能跟随新数据滚动。
但是如果用鼠标拖动一下，或者鼠标缩放一下，图表就会跟随新数据滚动了。

请问有什么办法让首屏数据就实现跟随新数据？

It's a bug! I found that this bug occured when the option.dataZoom.endValue set. But option.dataZoom.start and option.dataZoom.end act normally.

It's a bug! I found that this bug occured when the option.dataZoom.endValue set. But option.dataZoom.start and option.dataZoom.end act normally.

Thanks very much. I was in despair but now I think I may have a chance to prevent this bug.

Hi @catscarlet  ,
I have made some change to your example:
https://gallery.echartsjs.com/editor.html?c=xync4-wJe&v=2
I think it probably meet your requirement.
The change is: do not specify dataZoom.startValue and dataZoom.endValue manually, but always specify xAxis.min, xAxis.max.
@yufeng04 I think it is not a bug but a feature by design, if I haven't missed something.
There are two mode of dataZoom, auto determined by dataZoom.rangeMode:

'value': If we set dataZoom.startValue or dataZoom.endValue, it will be in 'value' mode, where the extent of xAxis will be always the dataZoom.startValue and dataZoom.endValue if we don't change it, as what @catscarlet 's example looks like in its initial state.
'percent': By default dataZoom is in 'percent' mode, where 100% represents 100% of [xAxis.min, xAxis.max], which is what we want. And why in @catscarlet 's example after we scroll mouse it become normal? because when scrolling mouse it triggers insde dataZoom and it auto shift to 'percent' mode.

Hi @catscarlet ,
I have made some change to your example:
https://gallery.echartsjs.com/editor.html?c=xync4-wJe&v=2
I think it probably meet your requirement.
The change is: do not specify dataZoom.startValue and dataZoom.endValue manually, but always specify xAxis.min, xAxis.max.
@yufeng04 I think it is not a bug but a feature by design, if I haven't missed something.
There are two mode of dataZoom, auto determined by dataZoom.rangeMode:

'value': If we set dataZoom.startValue or dataZoom.endValue, it will be in 'value' mode, where the extent of xAxis will be always the dataZoom.startValue and dataZoom.endValue if we don't change it, as what @catscarlet 's example looks like in its initial state.
'percent': By default dataZoom is in 'percent' mode, where 100% represents 100% of [xAxis.min, xAxis.max], which is what we want. And why in @catscarlet 's example after we scroll mouse it become normal? because when scrolling mouse it triggers insde dataZoom and it auto shift to 'percent' mode.

This one definitely can't fulfill the demand. xAxis.min and xAxis.max make the history be tossed.

Hi @catscarlet ,
I have made some change to your example:
https://gallery.echartsjs.com/editor.html?c=xync4-wJe&v=2
I think it probably meet your requirement.
The change is: do not specify dataZoom.startValue and dataZoom.endValue manually, but always specify xAxis.min, xAxis.max.
@yufeng04 I think it is not a bug but a feature by design, if I haven't missed something.
There are two mode of dataZoom, auto determined by dataZoom.rangeMode:

'value': If we set dataZoom.startValue or dataZoom.endValue, it will be in 'value' mode, where the extent of xAxis will be always the dataZoom.startValue and dataZoom.endValue if we don't change it, as what @catscarlet 's example looks like in its initial state.
'percent': By default dataZoom is in 'percent' mode, where 100% represents 100% of [xAxis.min, xAxis.max], which is what we want. And why in @catscarlet 's example after we scroll mouse it become normal? because when scrolling mouse it triggers insde dataZoom and it auto shift to 'percent' mode.

I read your demo.
This one can't meet the requirement.
Without option.dataZoom.startValue or option.dataZoom.endValue, how can zoom-in be produced when the first-screen-data should be able to zoom-in?

@catscarlet When you zoom on the diagram the startValue and endValue of the dataZoom will changed, so I don't understand what you problem is?

You totally misunderstand it. The issue is reproduced before zoom.
(Maybe I should rewrite this issue in English so that you don't read it in Chinese.)

To @100pah @deqingli
I upload two gifs so that someone can understand what issue is this.
This is the issue now(can be reproduced in version 4.4.0):

And this is what I need.

(This one can be fulfilled by dragging/zooming after the first-screen-data is drawed, but it should be avaliable automatically, like this:)

And I found something interesting.
In my previous demo: https://gallery.echartsjs.com/editor.html?c=xPG1pygeTn&v=1
If the option.dataZoom.startValue = first - 15 * 1000;, the issue can be reproduced, but if option.dataZoom.startValue = first - 30 * 1000;, everything looks good.
If you set option.dataZoom.startValue = first - 29 * 1000;...
What an interesting and wasting time bug.

@catscarlet  Do you mean that you always want blank area at the start and end of the diagram?

@catscarlet
And I have updated the demo:
https://gallery.echartsjs.com/editor.html?c=xync4-wJe&v=3
where dataZoom.start and dataZoom.end are added for the first screen.
It probably matches your requirement I think.

@catscarlet Do you mean that you always want blank area at the start and end of the diagram?

Yes.

@catscarlet  Since this is not a bug, because if you use the dataZoom.endValue the data screen won't be zoomed until the data point value is close to the endValue you set. So I will close it, If you still have any problem, you can reopen it.  Anywhere, thank you for your feedback.


Getting Incorrect string value: '\xE2\x9C\xA8", ...' for column 'text_of_script'

Getting the Incorrect string value: '\xE2\x9C\xA8" issue while Trying to insert query with the emojis like (✨)
Issue details
Unhandled exception: grate.Exceptions.MigrationFailed: Migration failed due to errors: 2024-02-06 21:59:20  * Incorrect string value: '\xE2\x9C\xA8", ...' for column 'text_of_script' at row 1

Hi, @Sabarinatha159 , could you please tell me which database you are using?

I was able to use ✨ in a sproc definition in SQL Server. UTF-8 as a default encoding is nice.

This wasn't working for some of the tables, and not for all databases. Fixed in #501


query by method name

@starksm64 if you can get your annotations processor so that it takes this repository:
@Repository(dataStore = "myds")
public interface BookAuthorRepository {
	List<Book> findByTitleLike(String title);
}

and generates this interface:
@NamedQuery(name = "findByTitleLike",
            query = "from Book where title like :title")
public interface BookAuthorRepository$ {
}

then with https://github.com/hibernate/hibernate-orm/pull/8084 I will simply pick that up and use it exactly as if findByTitleLike() had been annotated @Query.

A very rough implementation of this second idea is in https://github.com/hibernate/hibernate-orm/pull/8085. I can clean it up tomorrow, if you agree that this approach is better.

Yes, that is a better approach. I'll work on that generation code.

Alright, great, two things to watch out for:

It's better to translate the OrderBy operator to an @OrderBy annotation instead of an order by clause in the @Query annotation, to avoid problems with dynamic sorting criteria.
We could handle the First or First3 operator, using a HQL-specific limit 1 or limit 3 clause. This isn't part of JDQL, nor even JPQL, but Hibernate has it. Unfortunately, this can't be used without an order by clause, so you probably need to add something ugly like order by '' limit 3 or whatever in order to be able to sneak the query past my validation. (Alternatively, I could disable @Query validation for $ interfaces.)

So I'm seeing two forms of or by clauses. Sometimes it is included in the @OrderBy annotation, and others in the query string. For example I see these on the PositiveIntegers repo in your data fork:
    @Query("where floorOfSquareRoot <> ?1 and id < ?2")
    @OrderBy("numBitsRequired")
    CursoredPage<NaturalNumber> findByFloorOfSquareRootNotAndIdLessThanOrderByNumBitsRequiredDesc(long excludeSqrt,
                                                                                long eclusiveMax,
                                                                                PageRequest<NaturalNumber> pagination);
    @Query("where isOdd=true and id <= ?1")
    @OrderBy(value = "id", descending = true)
    List<NaturalNumber> findByIsOddTrueAndIdLessThanEqualOrderByIdDesc(long max);

    @Query("where isOdd=false and id between ?1 and ?2")
    List<NaturalNumber> findByIsOddFalseAndIdBetween(long min, long max);

    @Query("where numType in ?1 order by id asc")
    Stream<NaturalNumber> findByNumTypeInOrderByIdAsc(List<NumberType> types, Limit limit);

Can the order by clause be in either place always and if so, is there a preference to have it in the query so there is only one place to pull it from?
Also, shouldn't the OrderBy annotation on the findByFloorOfSquareRootNotAndIdLessThanOrderByNumBitsRequiredDesc example be @OrderBy("numBitsRequired", descending = true)? That is how my processor is parsing that method.

Can the order by clause be in either place always

So this is in my opinion not currently as clear as it should be. We can find various statements about it:

in Query.value

If the annotated repository method accepts other forms of sorting (such as a parameter of type Sort), it is the responsibility of the application programmer to compose the query so that an ORDER BY clause can be validly appended to the text of the query.

in @OrderBy

A repository method with an @OrderBy annotation must not have:

the Query by Method Name OrderBy keyword in its name, nor
a @Query annotation specifying a JDQL or JPQL query with an ORDER BY clause.

in Sort

A repository method may declare static sorting criteria using the ( OrderBy keyword or OrderBy annotation, or using Query with an ORDER BY clause), and also accept dynamic sorting criteria via its parameters. In this situation, the static sorting criteria are applied first, followed by any dynamic sorting criteria specified by instances of Sort .

In the spec:

A repository method that is annotated with @Query and performs cursor-based pagination must omit the ORDER BY clause from the provided query and instead must supply the sort criteria via @OrderBy annotations or Sort criteria of PageRequest. The provided query must end with a WHERE clause to which additional conditions can be appended by the Jakarta Data provider. The Jakarta Data provider is not expected to parse query text that is provided by the application.

Sort criteria can be hard-coded directly within query language by making use of the @Query annotation. A repository method that is annotated with @Query with a value that contains an ORDER BY clause (or query language equivalent) must not provide sort criteria via the other mechanisms.

A repository method that is annotated with @Query with a value that does not contain an ORDER BY clause and ends with a WHERE clause (or query language equivalents to these) can use other mechanisms that are defined by this specification for providing sort criteria.

Sort criteria are provided statically for a repository method by using the OrderBy keyword or by annotating the method with one or more @OrderBy annotations. The OrderBy keyword cannot be intermixed with the @OrderBy annotation or the @Query annotation. Static sort criteria takes precedence over dynamic sort criteria in that static sort criteria are evaluated first. When static sort criteria sorts entities to the same position, dynamic sort criteria are applied to further order those entities.

I believe that the intention of all this is that @Query(" .... order by ....") cannot be combined with other sources of order. And that the javadoc of Sort, which seems to contradict that, needs to be fixed.

and if so, is there a preference to have it in the query so there is only one place to pull it from?

No, that's what I was trying to say to you. If the repo method accepts dynamic sorting criteria (a parameter of type Sort, Order, or, currently, PageRequest) then the static sorting criteria should go into an @OrderBy annotation.
Is that much clear?

That's why I said:

It's better to translate the OrderBy operator to an @OrderBy annotation instead of an order by clause in the @Query annotation, to avoid problems with dynamic sorting criteria.

Ok, yes, got it now.

Where is this id(this) and in general *(this) syntax defined?
    @Query("where id(this) between ?1 and ?2")
    Stream<T> findByIdBetween(long minimum, long maximum, Sort<T> sort);

It's newly added to JPA.

If the domain has exactly one named entity abstract schema type
and no joins, then the named entity does not require an explicit
identification variable, and its identification variable defaults
to the implicit identification variable, this.

A path expression may begin with a reference to an identification
variable, followed by the navigation operator (.). If the first
element of a path expression is not an identification variable, then
the path expression is interpreted exactly as if it began with the
implicit identification variable this.

The SELECT clause is optional. A query with a missing SELECT clause
is interpreted as if it had the following single-item SELECT clause:
select this, where this is the implicit identification variable.

Ok, so this repo has been updated with the repo annotation process from jakarta data tools for now. Right now this is what I'm seeing when I try to build the testjar project after building the latest hibernate-orm, data repos and the tools module in this repo:
starksm@Scotts-Mac-Studio testjar % mvn clean install
...
Generating repository interface for ee.jakarta.tck.data.framework.read.only.CustomRepository
Wrote ee.jakarta.tck.data.framework.read.only.CustomRepository$, to: file:///Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/CustomRepository$.java
Apr 02, 2024 11:27:24 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 6.6.0-SNAPSHOT
RespositoryProcessor: Processing repositories, over=true
[INFO] Hibernate compile-time tooling 6.6.0-SNAPSHOT
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/AsciiCharacters.java:[41,8] repository method cannot be implemented for inherited member 'countByIdBetween'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/CustomRepository.java:[37,9] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/NaturalNumbers.java:[41,8] repository method cannot be implemented for inherited member 'countByIdBetween'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers.java:[42,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog.java:[68,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles.java:[39,10] repository method cannot be implemented
[INFO] 6 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.718 s
[INFO] Finished at: 2024-04-02T23:27:25-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (base-compile) on project hiberate-data-tck-tests: Compilation failure: Compilation failure:
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/AsciiCharacters.java:[41,8] repository method cannot be implemented for inherited member 'countByIdBetween'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/CustomRepository.java:[37,9] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/NaturalNumbers.java:[41,8] repository method cannot be implemented for inherited member 'countByIdBetween'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers.java:[42,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog.java:[68,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles.java:[39,10] repository method cannot be implemented
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
starksm@Scotts-Mac-Studio testjar % git remote -v
origin  https://github.com/jakartaredhat/hibernate-data-tck.git (fetch)
origin  https://github.com/jakartaredhat/hibernate-data-tck.git (push)
starksm@Scotts-Mac-Studio testjar %

There is a generated ee.jakarta.tck.data.framework.read.onlyAsciiCharacters$ which extends AsciiCharacters for example, but I guess I'm missing the super interface methods from IdOperations. I'll work on it more tomorrow.
package ee.jakarta.tck.data.framework.read.only;
import jakarta.annotation.Generated;
import jakarta.data.repository.OrderBy;
import jakarta.data.repository.Query;
import jakarta.data.repository.Repository;
import ee.jakarta.tck.data.framework.read.only.AsciiCharacters;

@Repository(dataStore = "")
@Generated("ee.jakarta.tck.data.tools.annp.RespositoryProcessor")
public interface AsciiCharacters$ extends AsciiCharacters {
            @Override
            @Query("select count(this) where hexadecimal is not null")
            public int countByHexadecimalNotNull ();

            @Override
            @Query("select count(this)>0 where thisCharacter = ?1")
            public boolean existsByThisCharacter (char ch);

            @Override
            @Query("where hexadecimal like '%'||?1||'%' and isControl <> ?2")
            public java.util.List<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByHexadecimalContainsAndIsControlNot (java.lang.String substring, boolean isPrintable);

            @Override
            @Query("where lower(hexadecimal) between lower(?1) and lower(?2) and hexadecimal not in ?3")
            public java.util.stream.Stream<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByHexadecimalIgnoreCaseBetweenAndHexadecimalNotIn (java.lang.String minHex, java.lang.String maxHex, java.util.Set<java.lang.String> excludeHex, jakarta.data.Order<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> sorts);

            @Override
            @Query("where lower(hexadecimal) = lower(?1)")
            public ee.jakarta.tck.data.framework.read.only.AsciiCharacter findByHexadecimalIgnoreCase (java.lang.String hex);

            @Override
            @Query("where id between ?1 and ?2")
            public java.util.stream.Stream<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByIdBetween (long minimum, long maximum, jakarta.data.Sort<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> sort);

            @Override
            @Query("where isControl=true and numericValue between ?1 and ?2")
            public ee.jakarta.tck.data.framework.read.only.AsciiCharacter findByIsControlTrueAndNumericValueBetween (int min, int max);

            @Override
            @Query("where numericValue = ?1")
            public java.util.Optional<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByNumericValue (int id);

            @Override
            @Query("where numericValue between ?1 and ?2")
            public jakarta.data.page.Page<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByNumericValueBetween (int min, int max, jakarta.data.page.PageRequest<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> pagination);

            @Override
            @Query("where numericValue <= ?1 and numericValue >= ?2")
            public java.util.List<ee.jakarta.tck.data.framework.read.only.AsciiCharacter> findByNumericValueLessThanEqualAndNumericValueGreaterThanEqual (int max, int min);

}

@starksm64 There are two things here, AFAICT:

TCK assumes parameters corresponding to In conditions are Sets. This information is not to be found anywhere in the spec, and I had not implemented it, though I had already opened an issue about it being undefined. That's fixed by https://github.com/hibernate/hibernate-orm/pull/8098. That takes care of several of those messages.
Even after fixing that, I'm still seeing messages like repository method cannot be implemented. That message should in principle not occur if there is a matching $ class in the compilation path. So I think it must be that you're not including the generated $ classes in the source path.

So I think it must be that you're not including the generated $ classes in the source path.

Except that this theory is questionable since I see this line in the POM:
<compileSourceRoot>${project.build.directory}/generated-source/annotations</compileSourceRoot>

When I debug the Maven build and look at what I'm being sent in roundEnvironment.getRootElements(), I don't see any $ classes there, so I think they're just not in the build path.

Ok, I'll take a look.

I think that's the most recent commit to be merged to main. My last commit from today was merged before that one.
d18d925e10 (HEAD -> main, origin/main, origin/HEAD) HHH-17881 Unable to use a proxy as parameter in Query when the FK does not target the PK
8c8e52eae9 HHH-17881 Add test for issue
c6a9278599 HHH-16672 Locking entities created in the same transaction fails
ca2ae23f78 HHH-16672 test case
dcacbadd5f tolerate Set + Collection for multivalued @Query parameters  <------- mine

I think intellij was interferring. I blew away the workspace and now I'm seeing that change in the AnnotationMetaEntity class.

Here is the latest status with the last repo push:
starksm@Scotts-Mac-Studio hibernate-data-tck % mvn install
...
[INFO]
[INFO] ---------------< org.hibernate:hiberate-data-tck-tests >----------------
[INFO] Building Hibernate Jakarta Data TCK Test Jar 1.0                   [3/5]
[INFO]   from testjar/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- dependency:3.6.1:unpack-dependencies (src-dependencies) @ hiberate-data-tck-tests ---
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ hiberate-data-tck-tests ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource from src/main/resources to target/classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ hiberate-data-tck-tests ---
[INFO] Recompiling the module because of changed dependency.
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 3 source files with javac [debug target 1.8] to target/classes
[WARNING] bootstrap class path not set in conjunction with -source 8
[INFO] Hibernate compile-time tooling 6.6.0-SNAPSHOT
[INFO]
[INFO] --- compiler:3.13.0:compile (base-compile) @ hiberate-data-tck-tests ---
[INFO] Recompiling the module because of changed dependency.
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 79 source files with javac [debug release 17] to target/classes
Round 1:
        input files: {org.hibernate.data.tck.container.EmbeddedContainerConfiguration, org.hibernate.data.tck.container.EmbeddedContainerExtension, org.hibernate.data.tck.container.EmbeddedDeployableContainer, ee.jakarta.tck.data.common.cdi.Directory, ee.jakarta.tck.data.common.cdi.DirectoryRepository, ee.jakarta.tck.data.common.cdi.Person, ee.jakarta.tck.data.common.cdi.PersonEntity, ee.jakarta.tck.data.core.cdi.ExtensionTests, ee.jakarta.tck.data.core.cdi.provider.DirectoryBuildCompatibleExtension, ee.jakarta.tck.data.core.cdi.provider.PersonBeanCreator, ee.jakarta.tck.data.framework.arquillian.extensions.TCKArchiveProcessor, ee.jakarta.tck.data.framework.arquillian.extensions.TCKFrameworkAppender, ee.jakarta.tck.data.framework.arquillian.extensions.TCKLoadableExtension, ee.jakarta.tck.data.framework.junit.anno.AnyEntity, ee.jakarta.tck.data.framework.junit.anno.Assertion, ee.jakarta.tck.data.framework.junit.anno.CDI, ee.jakarta.tck.data.framework.junit.anno.Core, ee.jakarta.tck.data.framework.junit.anno.Full, ee.jakarta.tck.data.framework.junit.anno.NoSQL, ee.jakarta.tck.data.framework.junit.anno.Persistence, ee.jakarta.tck.data.framework.junit.anno.ReadOnlyTest, ee.jakarta.tck.data.framework.junit.anno.Signature, ee.jakarta.tck.data.framework.junit.anno.Standalone, ee.jakarta.tck.data.framework.junit.anno.Web, ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension, ee.jakarta.tck.data.framework.junit.extensions.CDIConditionExtension, ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension, ee.jakarta.tck.data.framework.read.only.AsciiCharacter, ee.jakarta.tck.data.framework.read.only.AsciiCharacters$, ee.jakarta.tck.data.framework.read.only.AsciiCharacters, ee.jakarta.tck.data.framework.read.only.AsciiCharactersPopulator, ee.jakarta.tck.data.framework.read.only.CustomRepository$, ee.jakarta.tck.data.framework.read.only.CustomRepository, ee.jakarta.tck.data.framework.read.only.IdOperations, ee.jakarta.tck.data.framework.read.only.NaturalNumber, ee.jakarta.tck.data.framework.read.only.NaturalNumbers$, ee.jakarta.tck.data.framework.read.only.NaturalNumbers, ee.jakarta.tck.data.framework.read.only.NaturalNumbersPopulator, ee.jakarta.tck.data.framework.read.only.Populator, ee.jakarta.tck.data.framework.read.only.PositiveIntegers$, ee.jakarta.tck.data.framework.read.only.PositiveIntegers, ee.jakarta.tck.data.framework.read.only.ReadOnlyRepository, ee.jakarta.tck.data.framework.servlet.TestClient, ee.jakarta.tck.data.framework.servlet.TestServlet, ee.jakarta.tck.data.framework.servlet.URLBuilder, ee.jakarta.tck.data.framework.signature.ApiCheckDriver, ee.jakarta.tck.data.framework.signature.DataSignatureTestRunner, ee.jakarta.tck.data.framework.signature.PackageList, ee.jakarta.tck.data.framework.signature.SigTest, ee.jakarta.tck.data.framework.signature.SigTestData, ee.jakarta.tck.data.framework.signature.SigTestDriver, ee.jakarta.tck.data.framework.signature.SigTestEE, ee.jakarta.tck.data.framework.signature.SigTestResult, ee.jakarta.tck.data.framework.signature.SignatureTestDriver, ee.jakarta.tck.data.framework.signature.SignatureTestDriverFactory, ee.jakarta.tck.data.framework.utilities.TestProperty, ee.jakarta.tck.data.framework.utilities.TestPropertyHandler, ee.jakarta.tck.data.framework.utilities.TestPropertyUtility, ee.jakarta.tck.data.standalone.entity.Box, ee.jakarta.tck.data.standalone.entity.Boxes, ee.jakarta.tck.data.standalone.entity.Coordinate, ee.jakarta.tck.data.standalone.entity.EntityTests, ee.jakarta.tck.data.standalone.entity.MultipleEntityRepo, ee.jakarta.tck.data.standalone.example.StandaloneExampleTests, ee.jakarta.tck.data.standalone.persistence.Catalog$, ee.jakarta.tck.data.standalone.persistence.Catalog, ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests, ee.jakarta.tck.data.standalone.persistence.Product, ee.jakarta.tck.data.standalone.signature.SignatureTests, ee.jakarta.tck.data.web.cdi.ExtensionTests, ee.jakarta.tck.data.web.cdi.provider.DirectoryRepositoryProducer, ee.jakarta.tck.data.web.cdi.provider.PersonExtension, ee.jakarta.tck.data.web.example.ComplexServlet, ee.jakarta.tck.data.web.example.ComplexServletTests, ee.jakarta.tck.data.web.example.SimpleServletExampleTests, ee.jakarta.tck.data.web.transaction.PersistenceTests, ee.jakarta.tck.data.web.validation.Rectangle, ee.jakarta.tck.data.web.validation.Rectangles, ee.jakarta.tck.data.web.validation.ValidationTests}
        annotations: [java.lang.Override, jakarta.data.repository.Repository, ee.jakarta.tck.data.common.cdi.PersonEntity, java.lang.annotation.Target, java.lang.annotation.Retention, ee.jakarta.tck.data.framework.junit.anno.Core, ee.jakarta.tck.data.framework.junit.anno.AnyEntity, ee.jakarta.tck.data.framework.junit.anno.CDI, org.jboss.arquillian.container.test.api.Deployment, jakarta.inject.Inject, ee.jakarta.tck.data.framework.junit.anno.Assertion, jakarta.enterprise.inject.build.compatible.spi.Enhancement, jakarta.enterprise.inject.build.compatible.spi.Synthesis, org.junit.jupiter.api.Tags, org.junit.jupiter.api.Test, org.junit.jupiter.api.extension.ExtendWith, org.junit.jupiter.api.Tag, jakarta.nosql.Entity, jakarta.persistence.Entity, jakarta.nosql.Id, jakarta.persistence.Id, jakarta.nosql.Column, jakarta.annotation.Generated, jakarta.data.repository.Query, jakarta.data.repository.Find, jakarta.data.repository.By, jakarta.data.repository.Save, jakarta.data.repository.Insert, jakarta.data.repository.Delete, jakarta.data.repository.OrderBy, jakarta.data.repository.Param, java.lang.Deprecated, java.lang.SuppressWarnings, ee.jakarta.tck.data.framework.junit.anno.Standalone, ee.jakarta.tck.data.framework.junit.anno.ReadOnlyTest, org.junit.jupiter.api.BeforeEach, jakarta.data.repository.Update, ee.jakarta.tck.data.framework.junit.anno.Persistence, jakarta.persistence.ElementCollection, jakarta.persistence.Basic, jakarta.persistence.Transient, jakarta.persistence.Version, ee.jakarta.tck.data.framework.junit.anno.Signature, ee.jakarta.tck.data.framework.junit.anno.Web, jakarta.enterprise.event.Observes, jakarta.enterprise.inject.spi.WithAnnotations, jakarta.servlet.annotation.WebServlet, org.jboss.arquillian.container.test.api.RunAsClient, org.jboss.arquillian.test.api.ArquillianResource, jakarta.validation.constraints.NotBlank, jakarta.validation.constraints.PositiveOrZero, jakarta.validation.constraints.Max, jakarta.validation.constraints.NotNull, jakarta.validation.constraints.Min, jakarta.validation.constraints.Positive, jakarta.validation.Valid, jakarta.validation.constraints.Size]
        last round: false
Apr 03, 2024 5:09:40 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 6.6.0-SNAPSHOT
Round 2:
        input files: {}
        annotations: []
        last round: true
[INFO] Hibernate compile-time tooling 6.6.0-SNAPSHOT
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] unknown enum constant com.google.j2objc.annotations.ReflectionSupport.Level.FULL
  reason: class file for com.google.j2objc.annotations.ReflectionSupport$Level not found
[WARNING] unknown enum constant com.google.j2objc.annotations.ReflectionSupport.Level.FULL
[WARNING] unknown enum constant com.google.j2objc.annotations.ReflectionSupport.Level.FULL
[WARNING] unknown enum constant com.google.j2objc.annotations.ReflectionSupport.Level.FULL
[INFO] 4 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/AsciiCharacters$.java:[10,8] repository method cannot be implemented for inherited member 'findFirst3ByNumericValueGreaterThanEqualAndHexadecimalEndsWith'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/CustomRepository$.java:[12,20] return type of query did not match return type 'int' of method
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/NaturalNumbers$.java:[10,8] repository method cannot be implemented for inherited member 'countBy'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[10,8] repository does not have a well-defined primary entity type for inherited member 'deleteById'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[10,8] Could not interpret path expression 'id'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[12,20] Could not interpret path expression 'this'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[16,20] Could not interpret path expression 'this'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[16,20] return type of query did not match return type 'int' of method
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[20,20] Could not interpret path expression 'surgePrice'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[32,20] Could not interpret path expression 'nameLength'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles.java:[39,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[3,21] package NaturalNumber does not exist
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[51,70] cannot find symbol
  symbol:   class NumberType
  location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[128,59] cannot find symbol
  symbol:   class NumberType
  location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[216,71] cannot find symbol
  symbol:   class NumberType
  location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[280,96] cannot find symbol
  symbol:   class NumberType
  location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[429,85] cannot find symbol
  symbol:   class NumberType
  location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[INFO] 17 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Jakarta Data Tools 1.0.0-SNAPSHOT .................. SUCCESS [  1.545 s]
[INFO] Hibernate Jakarta Data TCK Test Sources Gen 1.0 .... SUCCESS [  2.281 s]
[INFO] Hibernate Jakarta Data TCK Test Jar 1.0 ............ FAILURE [  2.174 s]
[INFO] Hibernate Jakarta Data TCK Runner 1.0 .............. SKIPPED
[INFO] Hibernate Jakarta Data TCK Runner Parent 1.0 ....... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.075 s
[INFO] Finished at: 2024-04-03T17:09:42-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (base-compile) on project hiberate-data-tck-tests: Compilation failure: Compilation failure:
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/AsciiCharacters$.java:[10,8] repository method cannot be implemented for inherited member 'findFirst3ByNumericValueGreaterThanEqualAndHexadecimalEndsWith'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/CustomRepository$.java:[12,20] return type of query did not match return type 'int' of method
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/NaturalNumbers$.java:[10,8] repository method cannot be implemented for inherited member 'countBy'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[10,8] repository does not have a well-defined primary entity type for inherited member 'deleteById'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[10,8] Could not interpret path expression 'id'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[12,20] Could not interpret path expression 'this'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/PositiveIntegers$.java:[16,20] Could not interpret path expression 'this'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[16,20] return type of query did not match return type 'int' of method
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[20,20] Could not interpret path expression 'surgePrice'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[32,20] Could not interpret path expression 'nameLength'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles.java:[39,10] repository method cannot be implemented
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[3,21] package NaturalNumber does not exist
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[51,70] cannot find symbol
[ERROR]   symbol:   class NumberType
[ERROR]   location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[128,59] cannot find symbol
[ERROR]   symbol:   class NumberType
[ERROR]   location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[216,71] cannot find symbol
[ERROR]   symbol:   class NumberType
[ERROR]   location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[280,96] cannot find symbol
[ERROR]   symbol:   class NumberType
[ERROR]   location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/generated-sources/annotations/ee/jakarta/tck/data/framework/read/only/PositiveIntegers_.java:[429,85] cannot find symbol
[ERROR]   symbol:   class NumberType
[ERROR]   location: class ee.jakarta.tck.data.framework.read.only.PositiveIntegers_
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :hiberate-data-tck-tests

There were many problems with getting the annotation processors to co-exist, so I just split up the processing into two modules. The TCK source and the tools annotation processing source is being placed into the target/tck-sources of the testjar module where the hibernate-jpamodelgen is running and now seeing both sources. There are certainly failures in the tools processor with things like the 'findByFirstN' methods, and probably the 'id(this)' refs I still need to grok.
There are some issues with methods that don't seem to be proper QBN methods in superinterfaces that I'm not sure how to process yet. An example is the countBy method seen on NaturalNumbers interface.
Browse through those errors and see if any jump out as need hibernate-jpamodelgen changes. There is one obvious one where the generated PositiveIntegers_ has an incorrect import for the NaturalNumber.NumberType enum:
package ee.jakarta.tck.data.framework.read.only;

import NaturalNumber.NumberType;
@RequestScoped
@Generated("org.hibernate.processor.HibernateProcessor")
public class PositiveIntegers_ implements PositiveIntegers {

I have added a few more cases, but in the addition of recognizing custom entity types, I pulled in the ee.jakarta.tck.data.common.cdi.Directory repository which has a:
    List<String> findFirstNameByIdInOrderByAgeDesc(List<Long> ids);

which looks like a findFirst QBN method, with ignored text of 'Name', but what the TCK is expecting is a query like:
select firstName from Person where id in ?1 order by age desc
I don't see how that can be produced without an explicit @Query annotation.  Is this a badly named method and TCK test?

I have created https://github.com/jakartaee/data/issues/640 for the findFirstNameByIdInOrderByAgeDesc issue.

There is one obvious one where the generated PositiveIntegers_ has an incorrect import for the NaturalNumber.NumberType enum:

Fixed by #8108

Browse through those errors and see if any jump out as need hibernate-jpamodelgen changes.

I believe that a number of them result from me not correctly determining the primary entity type due to the indirect inheritance of the generic super type via the $ class. The spec is in principle not supposed to require it, but my implementation in principle supports it, so let me see what's going wrong there.

The spec is in principle not supposed to require it, but my implementation in principle supports it

Yeah, OK, I only consider interfaces directly-implemented.
That's easy to fix.

I only consider interfaces directly-implemented.

This is now also fixed by https://github.com/hibernate/hibernate-orm/pull/8108.
I also spotted that one of those TCK tests is bogus:
See https://github.com/jakartaee/data/pull/641

I also reported https://github.com/jakartaee/data/pull/642

Scott, these two look like missing features on your side:
[ERROR] /Users/gavin/Projects/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[20,20] Could not interpret path expression 'nameLength'
[ERROR] /Users/gavin/Projects/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles$.java:[10,8] repository method cannot be implemented for inherited member 'deleteAllBy'

And as to these ones:
[ERROR] /Users/gavin/Projects/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/framework/read/only/CustomRepository$.java:[12,20] return type of query did not match return type 'int' of method
[ERROR] /Users/gavin/Projects/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/standalone/persistence/Catalog$.java:[16,20] return type of query did not match return type 'int' of method

I dunno, debating between (a) trying to remove this requirement from Jakarta Data, and (b) just adding in the damn typecast in the code I generate.

So that if the return type is int, you would generate select cast(count(this) as Integer), and otherwise, if the return type is long, just plain select count(this) as Integer. I think that requires significantly less hackery than it costs me to do the same thing on my side.
WDYT?

Yes, I can do that no problem I think

Yes, that was an easy fix.

Another tck challenge for errors related to the ee.jakarta.tck.data.web.validation.Rectangles interface https://github.com/jakartaee/data/issues/657

Ok, with the latest changes, down to 3 errors that are due to the 2 existing tck challenges.
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/common/cdi/Directory$.java:[13,13] no matching field named 'age' in entity class 'ee.jakarta.tck.data.common.cdi.Person'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/common/cdi/Directory$.java:[12,20] Could not resolve root entity 'Person'
[ERROR] /Users/starksm/Dev/Jakarta/hibernate-data-tck/testjar/target/tck-sources/ee/jakarta/tck/data/web/validation/Rectangles$.java:[10,8] repository method cannot be implemented for inherited member 'deleteAllBy'

The issues in Directory should be resolved by you checking @Repository(provider) and not generating code if it's neither empty, nor "hibernate", ignoring case.

With #9, down to just that error in Rectangles.

I added a general mechanism to allow for the augmentation of the generated interfaces via a stringtemplate4 stg file, so for example, the following template file addresses the current tck challenges:
pretestjar/src/main/resources/ee.jakarta.tck.data.web.validation.Rectangles.stg
// Override template fo ree.jakarta.tck.data.web.validation.Rectangles due to TCK challenge:
// https://github.com/jakartaee/data/issues/657
delimiters "#", "#"
tckOverrides() ::= <<
    @Override
    @Delete
    public void deleteAllBy();

    @Size(min = 0, max = 3)
    @Find
    @OrderBy(value = "id")
    List<Rectangle> findAllByOrderByIdAsc();
>>

tckImports() ::= <<
import java.util.List;
import jakarta.data.repository.Delete;
import jakarta.data.repository.Find;
import jakarta.data.repository.OrderBy;
import jakarta.validation.constraints.Size;
>>

With this the augmented test jar is processed and compiles.
Now I can get back to actually running the tck against the augmented test jar.

This ... all looks like it's working pretty nicely and maybe better than I expected.
One really tiny nitpick: I don't think we need to make the $ interfaces public, since I'm not even implementing them, I'm just implementing the user-written interface directly.

Now, circling back to this:

There were many problems with getting the annotation processors to co-exist

In principle this should work, so I went and tried it to figure out what the problems were. What I see is:

The annotation processor gives up when I produce a repository method cannot be implemented error on the first round of processing. This is sort of crappy, since the error is resolved at the next round. For now I can solve this by turning that error into a warning on my side, but we will have to think about whether there is something better we can do there.
My code needs to learn how to detect that a repository is a non-Hibernate repository based on the @Entity annotation. (I knew about this, I just had not implemented it yet.)

Beside these two things it seems to work with the two processors side-by-side, i.e.
        <dependency>
            <groupId>jakarta.data</groupId>
            <artifactId>jakarta.data-tools</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <version>6.6.0-SNAPSHOT</version>
        </dependency>

p.s. I tested it with <excludes>**/_AsciiChar.java,**/_AsciiCharacter.java,**/nosql/**</excludes> since I have not implemented 2 yet.

Alright, so https://github.com/hibernate/hibernate-orm/pull/8119 solves those two issues meaning:

we no longer need to explicitly exclude the NoSQL repositories,
you no longer need to separate the processing into two phases.

I don't love that I had to something that was previously an error into a warning but it's the best I can do for now.

Wtih the latest hibernate-orm and data repo builds and the updated hibernate-data-tck/runner, I'm seeing these results in both the cli and ide:
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   StandaloneEntityTests>EntityTests.testCursoredPageOf7FromCursor:964 expected: <true> but was: <false>
[ERROR]   StandaloneEntityTests>EntityTests.testCursoredPageWithoutTotalOf9FromCursor:1068 expected: <true> but was: <false>
[ERROR]   StandaloneEntityTests>EntityTests.testUpdateQueryWithoutWhereClause:1717 expected: <3> but was: <0>
[INFO]
[ERROR] Tests run: 73, Failures: 3, Errors: 0, Skipped: 0

This is still with the current processing phases. I'll try combining them.

@starksm64 did you notice that Otavio just merged my proposed changes to the Query by Method Name grammar?

I have opened https://github.com/jakartaee/data/issues/670 to challenge:
[ERROR]   StandaloneEntityTests>EntityTests.testCursoredPageOf7FromCursor:964 expected: <true> but was: <false>
[ERROR]   StandaloneEntityTests>EntityTests.testCursoredPageWithoutTotalOf9FromCursor:1068 expected: <true> but was: <false>

I have merged the QBN grammar changes and updated the data snapshot and only see the same 3 failures, so no regression there.

@starksm64 if you update data and hibernate-orm, we are now down to one failure. But it's a doozy.

But it's a doozy.

I lied. It was trivial, once I remembered how to use Hibernate with no tx context.


CO - Division of Youth Services Submission Error

Problem statement
Colorado's facility having issues with submissions
What you need to know

Email is as follows*

This is an automatic email from the CDPHE Electronic Lab Reporting (ELR) system. There was an issue with a file or message submitted by your organization.
Issue Report: Cannot insert the message into the database due to the following reason:

The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value.

Common causes for the failure to write a message to the database include the following:

The message contained an end-of-line character in the middle of the record.
The message contained a value that was incompatible with the field's datatype (e.g., an invalid date or a string where there should be a date).

Message ID:<PHONE_NUMBER>_3012+5+20230525
Received by: CDPHE ELR Prod
Received on: 2023-05-25 19:30:20
File source: CDC PRIME
File name: covid-19-85bef312-ec85-45c5-a221-48f1136b0d1f-20230526013025.hl7
Performing Org Name: CO Divison of Youth Services
Please review, correct, and resubmit the message.
Please contact<EMAIL_ADDRESS>if you have any questions about this email.
Acceptance criteria

[ ] ...

To do

[ ] ...

Tanea,
We have another message, perhaps came from the same sender, that need correction.  They are the
very same correction are needed.
Would you please have Simple_Report to ask sender of message id<PHONE_NUMBER>_3012+5+20230525)
to correct the dates below and resubmit.  It has wrong date.  I think, those date should be
after 2019....
ORC-15: Order Effective Date/Time:<PHONE_NUMBER>0000
OBR-7:  Observation Date/Time #:<PHONE_NUMBER>0000
OBR-8:  Observation End Date/Time #:<PHONE_NUMBER>0000
OBR-22: Results Rpt/Status Chng - Date/Time +:<PHONE_NUMBER>0000
OBX-14: Date/Time of the Observation:<PHONE_NUMBER>0000
OBX-19: Date/Time of the Analysis:<PHONE_NUMBER>0000
SPM-17: Specimen Collection Date/Time :<PHONE_NUMBER>0000
SPM-18: Specimen Received Date/Time:<PHONE_NUMBER>0000
Very respectfully
-Ott Sathngam
CDC ReportStream Engineer

Confirmed resent by CO Division of Youth Services Submission Error.  Done.


MVKSmallVector: Make iterator const correct.

Or the newest libc++ in Xcode 15.3 won't build.
Fixes #2156.

Thanks, also this looks like a superset of #2152


grilo: add darwin support

Description of changes
As in the title.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

nixpkgs-review reports no new failures for macos 10.15 & nixos x86_64.
Note though that grilo-plugins and gupnp-tools still report themselves as broken for me on macos 10.15.

Oh, building grilo-plugins actually requires #196577 to be merged first.

@ofborg build grilo

Result of nixpkgs-review pr 196850 run on aarch64-darwin 1

4 packages marked as broken and skipped:

dino
gupnp-tools
mate.caja-extensions
nheko

13 packages built:

dleyna-connector-dbus
dleyna-core
dleyna-renderer
dleyna-server
gom
grilo
grilo-plugins
gssdp
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
libmediaart

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1432


i/o timeout on large DB

Hi, love the code. It works great for me in general.
Though, I have a problem: I have a connection which I'm trying to collect all ~3,000,000 keys from a 384MB redis DB. The code I'm using is basically:
c = redis.NewClient(&redis.Options{
		Addr:     c.RedisURL + ":" + c.RedisPort,
		Password: "", // no password set
		DB:       0,  // use default DB
})
keys, err = c.Keys("*").Result()
return keys, err

This code works great on all my other DBs (<100 MB). Unfortunately, on this large DB, it always results in an error:
read tcp <IP_ADDRESS>:48670-><IP_ADDRESS>:6377: i/o timeout

Is there a way to specify a longer wait before timing out for a large DB?
Interestingly, it seems to work fine when I try to dump with Python:
import redis

r = redis.StrictRedis(host='localhost', port=6377)

with open('keys.txt','wb') as f:
	for key in r.scan_iter('*'):
		f.write(key)
		f.write(b'\n')

so I suspect its something to do with Go.

See https://godoc.org/github.com/go-redis/redis#example-ScanCmd-Iterator for equivalent Go code. Read/Write timeout can be specified in redis.Options:
c = redis.NewClient(&redis.Options{
    ReadTimeout: time.Minute,
})

But I don't recommend doing that.

Thanks, ScanCmd-Iterator worked great!

See https://godoc.org/github.com/go-redis/redis#example-ScanCmd-Iterator for equivalent Go code. Read/Write timeout can be specified in redis.Options:
c = redis.NewClient(&redis.Options{
    ReadTimeout: time.Minute,
})

But I don't recommend doing that.

@vmihailenco Why not?


AOT operation for Embedders

https://github.com/flutter/flutter/wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode
I went through this document for running an app in AOT mode on Raspberry Pi(ARM). I have an embedder that operates in JIT and would like to change it to AOT.
https://github.com/flutter/flutter/wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode#generating-the-kernel-snapshot Here, the mentioned executable called dart is not present in my linux_release_arm(build) directory, same is the case with frontend_server.dart.snapshot
How am I supposed to proceed to generate the necessary AOT napshots?

Added will need additional triage since the user has questions after following the docs for custom engine embedding

I have got a basic understanding on how to work with AOT builds, so closing.


VS Code debugger should be able to use an external file for environment setup

Issue:
I am looking for ways to load a .env file into debugger environment.
launch.json provides an env section, where you can define such variables. In typical use cases, launch.json is being version controlled though, forbidding adding sensitive data, such as api keys.
Expectation:
It would be really helpful, if there was a syntax like the following example:
"env" : "${workspaceRoot}.env"

Not sure where to mention that, this is a FEATURE REQUEST.

@mariosant loading from a file would be in addition to the existing "env" attribute and not a replacement, right? So you could load some env vars from a file and add more variables to that in the launch.json.

That is correct, @weinand. Loading from env file, should add to current environment. It should not replace it.
Loading vars from a file and adding more variables to launch.json, would be awesome!

Is it necessary to support loading multiple env files or is one typically enough?

Most cases, a single .env file exists. I believe this is the most common use case, IMHO.
Ruby users typically use: https://github.com/bkeepers/dotenv to handle it.
Nodejs users use: https://github.com/motdotla/dotenv to handle it.
Not very sure about other ones :)

@roblourens fyi, another feature for node-debug2

@mariosant you can now use an attribute envFile in a launch config to specify a file containing environment variable definitions.

This is great to hear! I will surely check it out @weinand.

@weinand This functionality is also needed for tasks.json and would allow complete removal of env variables from source code.
Is it available somewhere and I'm not finding it?
Thanks

@ancashoria please create a new issue against tasks for this.