[lsp] Weird issue with completion in v0.97.0

Hello!
I'm having a strange issue when triggering a completion with v0.97.0 - it looks like the Flow LSP is sending back character offsets based on 1 instead of 0, as found here (thanks to @yyoncho for investigating this!). This results in broken code after triggering the completion (see the GIF below).
Environment
Flow version: v0.97.0
Client: Emacs + lsp-mode + company-lsp
Expected behavior
When triggering a completion, I expect the result code to be correct.
Actual behavior

On a very brief investigation into the PR that introduced this change, I think this behaviour could be caused by this line, but I could be wrong; my OCaml knowledge is non-existent.
Let me know if there's something I can configure on the LSP server to fix this behaviour. Thank you!

I think you're right about that logic being the problem. Looking at the lsp spec, the textEdit range should denote the text to replace i.e. you've already typed part of the completion. So:
x.|

start.character = character // 2
end.character = character // 2

x.toEx|

start.character = character - 4 // 2
end.character = character // 6

@vicapow did you observe similar behaviour in VSCode or any other editors while you were working on this functionality?

Fixed in v0.101.0 (see 909e50ec472aa7a2c52678ba2ba94668b483368f)

Thanks for pointing that out @Mayank1791989! Closing this.


Input text becomes hidden

Hi,
When I added a lot of tags and I continue adding input text becomes hidden at far right.
Here is a demo http://plnkr.co/edit/96PsKv?p=preview

Sorry for not replying sooner.
In your example you have replaced the whole ngTagsInput's stylesheet with a custom one that changes the default behavior, which is to wrap the tags that don't fit in the available space.
I assume that you have created your own stylesheet to support some specific use case, and thus you'll need to figure out how to write the appropriate CSS for that specific scenario.

@mbenford Hi I tried to change but didn't works... my solution was this
tagHost[0].focus(); // this to force input loose the focus
tagHost.triggerHandler('click');  // this to refocus the input, autocomplete

Doing focus() on input text wasn't worked all the time really worked a few times.
I know is not the best solution but if anyone has the same issue maybe will help.


Add JustMockLite to additional resources

Fixes #19223
As discussed in the issue, I am adding JustMockLite to links in the additional resources section.
Please have in mind that I also changed the "Razor Pages unit tests in ASP.NET Core" article to include the same link in the additional resources section.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mihail-vladov sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks ... Rick will be along in a bit for a final sign-off on this.


Update self-hosted-runner-labels-runs-on.md

Minor rephrasing to make it clear that self-hosted must be listed first.
Why:
It's an insignificant change, but I missed a key point after having read it the first time. Thought this might make it a little clearer.
What's being changed:
Rephrasing one paragraph in a reusable about self-hosted runner labels.
Check off the following:

[ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@rellis-of-rhindleton
Thanks so much for opening a PR! I'll get this triaged for review :zap:


_class field generated by Spring Data Arango causing ClassNotFoundException

First, great work and appreciate the time and effort that went into this library.
I am using spring data arango to persist/modify the database (since mutations aren't available yet in the graphql library) and plan to use arango-graphql for the main UI to deliver the majority of the reads.
When testing a query via altair, I received this message:
Exception while fetching data (/getClient) : com.arangodb.velocypack.exception.VPackParserException: com.arangodb.velocypack.exception.VPackParserException: java.lang.ClassNotFoundException: com.model.Person
It seems the "_class" property, which gets generated via the ArangoConfiguration, is added for inheritance support.  So, as a workaround/fix, I override the method like so:
from
 default ArangoTypeMapper arangoTypeMapper() throws Exception {
        return new DefaultArangoTypeMapper(this.typeKey(), this.arangoMappingContext());
    }

to (changing this.typeKey() to null)
@Override
    public ArangoTypeMapper arangoTypeMapper() throws Exception {
        return new DefaultArangoTypeMapper(null, this.arangoMappingContext());
    }

then "_class" is not persisted and the graph query works as expected.

Will this override present any problems other than possible inheritance issues?
Is there a better way to address this?

Thanks Greg. Appreciate your feedback.
I was able to replicate this easily by manually adding a "_class" attribute to a document. After a quick look I think the problem lies not with Arango Spring Data or the Arango GraphQL Starter but with the java-velocypack implementation.
If you took the Arango GraphQL library out of the mix and imagine you had two applications, app A using the Spring Data support to write instances of com.model.Person to a collection, and app B reading these from the collection using the Java driver, but without com.model.Person on the classpath, I think the second application would fail in the same way because of the "_class" in the document which doesn't seem right to me. I don't want readers of my collection to be coupled to specific Java classes. I would imagine I would still want to interact with the document as a BaseDocument, or potentially represent it as a different class all together from an application that may not have the original class used at write time on the classpath.
My view would be that the private VPack.determineType(VPackSlice vpack, Type type) method would be better off returning the default BaseDocument type if the Class.forName(...) fails, rather than chaining and throwing the ClassNotFoundException. This would allow for App B to function in the scenario above, and eliminate the issue you are facing.
The other possible solution is to configure the deserialization on the ArangoDB.Builder on your client side to ignore the type key, which you could do by overriding the bean provided by the starter or we could change the starter to do this by default but I think the right thing to do would be to change the java-velocypack implementation as I described above, and therefore it might be worth raising this issue against java-velocypack and linking to this one to avoid having to work around it either in your app, or in the GraphQL starter.

good idea, @colinfindlay.  short term, I think overriding works. longer term, changing the implementation would be best.  closing this one out.


Add: HKIBC

Channel Name
Hong Kong Infomation Business Channel
Native Name (optional)
香港國際財經台
Network (optional)
No response
Country
HK
Subdivision (optional)
No response
City (optional)
No response
Broadcast Area
c/HK
Languages
zho;eng
Categories (optional)
No response
NSFW
FALSE
Launched (optional)
2018-07-30
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
No response
Logo
https://upload.wikimedia.org/wikipedia/zh/thumb/3/3a/HKIBC_logo.png/220px-HKIBC_logo.png
Notes
No response

Added.


Detection support request for: VisualBasic, Pascal

Thanks for your work! At @olimpiadi-informatica we are updating an online competitive programming contest platform to use guesslang. In order to fully support the languages taught in secondary schools, we would need additional support for:

[x] VisualBasic
[x] Pascal

Hello @Harniver,
I'll check if I can support one or both languages in the next major version.
I just hope that I can find enough open source projects written in VisualBasic and Pascal to feed the machine learning model.
Feel free to share If you know where to find some.
Thank you.

Hello @Harniver,
Both languages are now fully supported by Guesslang.
https://github.com/yoeo/guesslang/pull/33


Don't skip the hook timeout test, to incease coverage

Let's enable this test by default to increase the test coverage.

Codecov Report

Merging #298 (14b54bf) into main (40e8363) will increase coverage by 0.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #298      +/-   ##
==========================================
+ Coverage   77.21%   77.38%   +0.16%
==========================================
  Files          42       42
  Lines        5920     5920
==========================================
+ Hits         4571     4581      +10
+ Misses       1349     1339      -10


v14 support

Hi,
There was a problem to start td-agent v14.
The workaround is to add string:
require 'fluent/input'
to start of the file in_rds_pgsql_log.rb
The relevant part of error message while manually start td-agent executable was:
"in_rds_pgsql_log.rb:1:in `<top (required)>': uninitialized constant Fluent::Input (NameError)"
And "Failed to start LSB td-agent" while start by "service td-agent start"

@vinogradovs
Thank you for your comment.
I update to work with fluentd v0.14.
Could you try new version.


Clean up gulp all task.

Helps address #1736
Don't call default for all.
Styles task is still ran twice. This is because styles:gen depends upon it completing, then mocha for some reason requires it as well. I'd personally think mocha should require scripts over styles, but that is for another time.
Steps of new all:

Compile all styles
Compile scripts
Test Scripts
Compile microsite data
Zip contents

As far as I can tell, all the needed tasks are still ran as before, we just slim down repetition loads. However, please still test this thoroughly.

One remark, other than that, LGTM. Thanks for taking care of this. The gulp overhaul is necessary, but I have been putting it off for a while now.

Re-arranged @surma, ready for re-review.

LGTM. Will test later and pull into mdl-1.0 :) Thanks, @Garbee

mdl-1.0 isn't using the babelified gulpfile. So, that would cause issues merging this commit in. Maybe for the 1.0 branch we should just do a separate backport commit to make the proper changes there for the older gulpfile.

@Garbee I meant a backport. Sorry. I shouldn’t be writing comments when insomnia hits...

haha, all's good. I'm in insomnia mode too apparently. Been a long time since I've been awake and alert at this hour.

ping.
Can we get this merged in? The sooner we do the less work is done on our builds when testing new changes for 1.1.
cc @addyosmani and @sgomes for an extra sanity check as well.

LGTM, but then again I'm not as familiar with our gulp process as I should be :)

Sorry, my bad. Forgot about this.


Statistics of the results

I am trying to create a summary table with the site, total reads from the control and YTH, and score. The goal is to provide of a resource highlighting the sites with a higher confidence. However the output files are a bit confusing to interpret, given the multiple collapsing and filtering steps.
Is there any multiple testing on the comparisons performed ?
If I understand correctly, each replicate gets compared against each control and then collapsed. What exactly is the final score reflecting? Also, wouldn't it be required to have a multiple testing correction for all these comparisons?

Hi,
Thanks a lot for your reply! Exactly that last part with the GLM model is what I wanted to try with my data. I would appreciate if your could share some scripts or details on that.
Thank you!

Hi Mariela,
I added to example_data/markdown an Rmarkdown file and the R functions I use for the GLM. You will need to generate the files mentioned in my previous reply (coverage and mutation matrices). I don't have great documentation for these R function yet, and I add those later. Hopefully you can understand it. Let me know if you have other questions. I will be away next week and will answer the following week.


ZEVA - MY Report analyst edit assessment feature

Title: MY Report analyst edit assessment feature
Description: As an analyst making an edit to an assessment of a Small Vehicle supplier before recommending: I used the Edit feature to add a Make to the Supplier Info. But the edit page imposes a compliance obligation. The Edit page also needs to be updated to recognise a small supplier does not have an obligation.
Wireframe:

Purpose and benefit to user:
Acceptance Criteria:

[ ] Given I am a idir analyst, When I am editing an assessment of a small supplier MY report, then I can save the change without a compliance obligation being imposed onto the supplier.

Development Checklist:

[ ] Zero out compliance obligation reduction values when editing a small supplier's assessment

Notes:

Hey team! Please add your planning poker estimate with Zenhub @AlexZorkin @JulianForeman @tim738745

In testing with Shaylene we are still seeing an issue on the edit screen - see attached screenshot. When the analyst changes the sales figure it does show a new/edited credit obligation when this should be zero.

[Uploading... screenshot.docx]


release(versioning): update version to 2.1.0

Automated PR to bump the version pre-release.

:tada: This PR is included in version 2.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Check if tint is in acceptable range, otherwise set a default value.

From issue #1305, if you set the tint to black (0x000000) it'll fail the first test, even though it's a valid color.

I realized I didn't PR to dev branch. I'll reopen a new PR and do it right.


Color parameter in #drawString

Add a color parameter that has a default (Renderer.WHITE) to the drawString and drawStringWithShadow methods.
Update Text to utilise this change.
Fixed provided packages not working.

Oops, didn't realize you added the providedlibs fix.  I made a pr that was merged earlier including that, so that can be removed from here


Move pre-build and test dependencies from CICD workflow file to requirements.txt and setup.py

Looking at the CICD workflow file, following needs to be done:

Move pre-build dependecies (e.g. requests for fetching openapi.yaml, twine for deploying package, etc) to requirements.txt
Move test depdendencies (e.g. flake8, pytest, dpkt, etc.) to extras_require attribute in setup.py so that those can be installed like so:# we could have real package name (present online or offline) instead of dot
python -m pip install -e .[dev]

https://github.com/open-traffic-generator/ixnetwork/commit/c76c739ecdc61cec0ae147d897c6459f03cb1464
https://github.com/open-traffic-generator/ixnetwork/commit/96f3a66746d7f8de5fd7ee0a8eb83904e63980a7
https://github.com/open-traffic-generator/ixnetwork/commit/f2159f49435072ec868c7aff582a006d78b9bac5


403 error?

The link parse works.
But,when input the link,got 403 error.
I think google server will detect browser's ip...
Please check it.Thanks.

@fonewoda yes the generated link will attach an IP so only that IP can use that link. I am still trying to figure out how to generate links without re-scraping the page.


Setting default-pool-size to 1 failed

Version:
microceph                      error        2  microceph             reef/edge       47  no       hook failed: "peers-relation-changed"
Reproducer:
Deploy single node microceph using charm-microceph. Add new unit for charm-microceph.
Change default-pool-size configuration to 1.
The below error is observed
unit-microceph-1: 04:15:14 ERROR unit.microceph/1.juju-log peers:1: Failed executing cmd: ['sudo', 'microceph', 'pool', 'set-rf', '--size', '1', ''], error: Error: failed setting replication factor: failed to set pool size default: Failed to run: ceph config set global osd_pool_default_size 1: exit status 1 (Error initializing cluster client: ObjectNotFound('RADOS object not found (error calling conf_read_file)'))

unit-microceph-1: 04:15:14 ERROR unit.microceph/1.juju-log peers:1: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-microceph-1/charm/./src/charm.py", line 346, in <module>
    main(MicroCephCharm)
  File "/var/lib/juju/agents/unit-microceph-1/charm/venv/ops/main.py", line 544, in main
    manager.run()
  File "/var/lib/juju/agents/unit-microceph-1/charm/venv/ops/main.py", line 520, in run
    self._emit()
  File "/var/lib/juju/agents/unit-microceph-1/charm/venv/ops/main.py", line 506, in _emit
    self.framework.reemit()
  File "/var/lib/juju/agents/unit-microceph-1/charm/venv/ops/framework.py", line 859, in reemit
    self._reemit()
  File "/var/lib/juju/agents/unit-microceph-1/charm/venv/ops/framework.py", line 939, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-microceph-1/charm/./src/charm.py", line 116, in _on_config_changed
    self.configure_charm(event)
  File "/var/lib/juju/agents/unit-microceph-1/charm/./src/charm.py", line 113, in configure_charm
    self.configure_ceph(event)
  File "/var/lib/juju/agents/unit-microceph-1/charm/./src/charm.py", line 342, in configure_ceph
    raise e
  File "/var/lib/juju/agents/unit-microceph-1/charm/./src/charm.py", line 330, in configure_ceph
    microceph.set_pool_size("", str(default_rf))
  File "/var/lib/juju/agents/unit-microceph-1/charm/src/microceph.py", line 251, in set_pool_size
    _run_cmd(cmd)
  File "/var/lib/juju/agents/unit-microceph-1/charm/src/microceph.py", line 44, in _run_cmd
    raise e
  File "/var/lib/juju/agents/unit-microceph-1/charm/src/microceph.py", line 39, in _run_cmd
    process = subprocess.run(cmd, capture_output=True, text=True, check=True, timeout=180)
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['sudo', 'microceph', 'pool', 'set-rf', '--size', '1', '']' returned non-zero exit status 1.

The default pool size is set to 1 properly by the leader unit but the above error is observed on non-leader unit.
Seems like the ceph commands are ran on all the units which is not required. Running the ceph config command on leader unit should be sufficient.

This seems not a problem when the non-leader node is joined properly in the cluster. Above error is seen because the non leader node did not complete joining the cluster. So closing this issue


Fix HomeActivityTest#shouldVerifySearchNoteFragment test case

Merged to dev branch in PR #34

Merged to master branch in PR #38


[Performance] Severe performance degradation of the query on AMD processors

We have created new CH cluster based on AMD EPYC 7401P processor. For some reasons all queries with grouping by  became extremely slow. Example:
CREATE TABLE test.perf_test (
	event_date MATERIALIZED today(),
	col1 UInt32,
	col2 UInt32,
	col3 UInt32,
	col4 UInt32,
	col5 UInt32,
	col6 UInt32,
	col7 UInt32
) ENGINE = MergeTree(event_date, (col1, col2, col3, col4), 8192)

INSERT INTO test.perf_test
(col1, col2, col3, col4, col5, col6, col7)
SELECT rand(), rand(), rand(), rand(), rand(), rand(), rand() FROM `system`.numbers LIMIT 10000000

And There are two queries:
SELECT 1 FROM test.perf_test GROUP BY now()
SELECT 1 FROM test.perf_test GROUP BY today()

Both works quickly and stable on Intel CPUs. But on AMD machines second one executes 2 - 40 seconds instead of 10 ms on Intel machine. Interesting, that first one behaves normally.
Linux and clickhouse versions are the same. Both server didn't have any other queries executed.
After each executing of the 'slow' query on the AMD this metric increases on 20k
SELECT * FROM `system`.events WHERE event = 'SoftPageFaults'

"perf top" shows a lot of "page_failure"(bigger 60%).
We tried to disable 'NUMA' feature in the system without any success.
Here are logs of the server
normal_query_log.txt
slow_query_log.txt

It seems, that this bug is reproducing on all 16 bit types, because next queries executes the sama:
SELECT 1 FROM test.perf_test GROUP BY toUInt16(1)
SELECT 1 FROM test.perf_test GROUP BY toUInt32(1)

First one up to 20s, second one almost immediately.

Flame Graphs
perf record -F 99 -p   -g -- sleep
amd tme = 30s
intell time = 5s
amd__slow.svg.zip
intell__fast.svg.zip

Added pull request https://github.com/yandex/ClickHouse/pull/3512

Temporary fix has been merged. Further investigation of the root cause is required.

we have allocated a buffer with 1 MB of memory (65536 cells of 16 bytes);
we have written to a single cell in this buffer while we aggregated data;
then we iterate through this buffer and compare a key in each cell to zero;
most of the buffer is not page-faulted (not really allocated, does not point to physical memory);
when we read from this memory, it will read as zero; and this is done via page fault (interrupt, switch to kernel code and back);
for unknown reason, page faults occurs every time;
this is somehow related to the details of the inner loop, only on EPYC CPU, need to investigate further.

This will reproduce this issue even harder:
./clickhouse benchmark <<< 'SELECT 1 FROM test.perf_test GROUP BY toUInt16(intHash64(rand() % 10))'

Reproduced with a simple test case.
https://github.com/yandex/ClickHouse/commit/89f4c6a36f49c74a92856f4beb4c681e1ac35005

Unfortunately this bug is still reproduced. Not as critical as when the bug was opened, but still seriously affect performance

Does it reproduce with the same test case in recent ClickHouse versions (master, 19.13. 19.11)?
How big is performance difference?

Ch version: <IP_ADDRESS>. For example above difference is ~1s on AMD vs 60ms on Intel. Symptoms are the same, but test from your commit does not show any degradation.

Does this fix help https://github.com/yandex/ClickHouse/pull/6667 ?
(Go to "ClickHouse build check" and download a package for test).

Also we need to test for hypothesis that I had one year ago:

page faults happen more frequently than expected: after a page was read with page fault, subsequent read from the same page may introduce another page fault (that should not happen but happens on AMD processor under unknown circumstances).

Unfortunately I can't currently check this fix due to hardware lack

We will update our production cluster next week and double check fix.

We have updated prod CH cluster to version <IP_ADDRESS> and tested our queries. The problem has been solved.  Thanks to everyone who helped =)


RAM Requirements

When I try to load any SciSpaCy model with the EntityLinker, I am running out of memory. My current setup has 16 Gb. Since the 5 cached files for SciSpaCy are all below 1Gb I would expect it to run fine. Am I overlooking something? How much RAM is required to run the EntityLinker?

For me, loading the small model and the EntityLinker takes ~11gb of RAM. I don't have an immediate solution to make it use less, but we do also 4 more specific entity linkers (see the EntityLinker section of the readme) that are smaller than the large UMLS one. Not sure if @DeNeutoy has other ideas since he has been messing around with these more than me lately.

What if all the lookup tables, like the ann_concept_aliases_list and the jsons in the knowledge are replaced by sqlite or other light-weight DBs. Keeping them in memory would of course be faster, but saving a lot of RAM for a slight performance decrease may make the EntityLinker more accessible for many people. Since I currently am unable to access a more powerful machine, I may try to implement the DB solution in my own fork. If and when I finish, I can give an update about how it works

Try again off of master? I reduced memory by a couple gigs in #287

btw, if this isn't enough and you want to mess around with reducing memory further, https://github.com/pythonprofilers/memory_profiler is a nice tool (and is how i made the graphs in that PR)

@fschlatt
Alternative approach could be building a custom UMLS subset in case there are semantic types which you don't need.
Have a look at the thread: https://github.com/allenai/scispacy/issues/237


Add docker as an apt-mirror

With the release of docker-ce docker is now it's own repository.
See: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository
for more details
I've added repos of stable as there are directories of different
releases inside
https://download.docker.com/linux/ubuntu/dists/trusty/
and the key is based on the one provided on the above link.
I have no idea how to test this so any pointers on that would be very useful 🙏

Thanks @surminus - I'll give it a spin on integration before merging.

@surminus all seems to have gone ok on integration:
kevindew@integration-apt-1:~$ govuk_puppet --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for apt-1.management.integration.publishing.service.gov.uk
Info: Applying configuration version '705a21833aa3cd06e7c9b26b3a47752b3fa3d3f9'
Notice: /Stage[main]/Govuk::Node::S_apt/Aptly::Mirror[docker]/Exec[aptly_mirror_gpg-docker]/returns: executed successfully
Notice: /Stage[main]/Govuk::Node::S_apt/Aptly::Mirror[docker]/Exec[aptly_mirror_create-docker]/returns: executed successfully
Notice: Finished catalog run in 36.66 seconds
kevindew@integration-apt-1:~$ sudo -i aptly mirror update docker
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/InRelease...
gpgv: Signature made Thu 16 Nov 2017 03:31:21 UTC using RSA key ID F273FCD8
gpgv: Good signature from "Docker Release (CE deb<EMAIL_ADDRESS>Downloading & parsing package files...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/stable/binary-amd64/Packages.bz2...
Building download queue...
Download queue: 7 items (132.82 MiB)
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.1~ce-0~ubuntu-trusty_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.06.1~ce-0~ubuntu_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.2~ce-0~ubuntu-trusty_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.06.2~ce-0~ubuntu_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.0~ce-0~ubuntu-trusty_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.06.0~ce-0~ubuntu_amd64.deb...
Downloading https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb...

Mirror `docker` has been successfully updated.

So I'll merge once this build is green.

Cool! If the package name is different this may need to be addressed in the upstream Puppet module.


bundle.js is missing

I followed all your steps, but bundle.js is missing and it returns 404 at the browser.
Any ideas?

Strange indeed. Could you share what npm run dev gives you?

Nothing @AmrAbdulrahman ? I can close the issue?

Thanks @grabcode, I figured out the problem, you can close it.


fix simulate block break type is not correct

Description
When calling simulateBlockPlace on PlayerMock, the type of the broken was set after the event. Even though It is semantically correct, the event receives a block with a type different from the one provided to simulateBlockPlace causing code using this information to fail during tests.
The PR change is the behavior of this method by setting the type of the block before this event and then resetting it the previous one if the event got canceled.
Nevertheless, I have some hesitations if it is the best solution as World#getBlock would return the wrong type during the event propagation.
Checklist
The following items should be checked before the pull request can be merged.

[x] Version number updated in settings.gradle.
[x] Unit tests added.
[x] Code follows existing code format.

Any reason for why this is still a draft?

This is a draft because of the following:

Nevertheless, I have some hesitations if it is the best solution as World#getBlock would return the wrong type during the event propagation.

I didn't take time to work on it. You can either merge it as is, or maybe somebody can find a better option.

Implemented in #290.


Implemented Basic structure of mission and fetching mission data

In this milestone, the following were implemented;
Fetched data from the Missions endpoint (https://api.spacexdata.com/v3/missions) when a user navigates to the Missions section.
Dispatched an action to store the selected data in the Redux store:

mission_id
mission_name
Description

You did an excellent on fetching the missions.
Your dedication and hard work shall be paid by merging this branch! You did!!
Congratulations!!


wasm-pack build fails for Game of Life tutorial due to known issue

wasm-pack's optimizer fails because of the export of a mutable global:

[INFO]: Optimizing wasm binaries with `wasm-opt`...
[wasm-validator error in module] unexpected true: Exported global cannot be mutable, on
global$0

The issue is reported here.
I worked around by following the suggestion to add

[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-Oz", "--enable-mutable-globals"]

to Cargo.toml.
Don't know if this is a gotcha you'd want to point out in the tutorial. (I ran into it here.). Otherwise, presume you can close and a web search will maybe land people here.

Please don't shorten your links

https://github.com/rustwasm/wasm-pack/issues/886
https://github.com/rustwasm/wasm-pack/issues/886#issuecomment-667669802
https://github.com/rustwasm/book/blame/a3a0b254928634237aeeb0f8732fb8fdbad0e9cb/src/game-of-life/implementing.md#L315

Longer give more context :-)


MacBook version

Hi, I've been using this software for the past year or so with my PC and it has been amazing. I sometimes have my MacBook connected and would really appreciate an apple compatible version of this software. I realize Apple's restrictions are a possible challenge to overcome, but is it possible to make an apple version of this software?

Hi, it would be possible but require too much of an effort I'm afraid. As a potential makeshift solution you could try to piece together something similar by having your macbook trigger wakeonlan/etherwake on boot and on resume using a tool like Sleepwatcher. Similarly for macbook shutdown/sleep you  could also use Sleepwatcher to send the command code (see handshake.h) to the TV using netcat or similar.


CumulusCI Release Branches

The MergeBranch class has been refactored to detect and propagate commits made to release branches to other existing release branches that correspond to a future release.
The children_only option has been removed from MergeBranch.
MergeBranch now has an update_future_releases option that defaults to False. If set to true, commit propagation between release branches occurs (see updated docs for more info).
The new headers Release Branches and Release to (Future) Release Merges in cumulusci_flow.rst covers this piece of functionality and why teams might have a need for it.
The old MergeBranch class has been renamed to MergeBranchOld. It is being kept in-place should we need to revert (by editing the class associated with the task) upon discovering a bug. A work item has been created to ensure this code is removed once everything is confirmed working in production.

Changes
We've made some updates to the tasks for automatically merging changes between branches:
*The github_master_to_feature task has been renamed to github_automerge_main. It still merges changes from the default branch to feature branches. In the case of an orphaned feature branch (a branch with a name like feature/parent__child where feature/parent does not exist as its own branch), the github_automerge_main branch will no longer merge to the orphaned branch.

The github_parent_to_children task has been renamed to github_automerge_feature. It still merges changes from feature branches to their children (e.g. feature/parent would be merged to feature/parent__child). It is now possible to use multiple double-underscores to create more deeply nested children, and the task will only merge to the next level (e.g. feature/parent would merge to feature/parent__child which would merge to feature/parent__child__grandchild).
The children_only option for these tasks has been removed. The strategy for picking which branches to target for merging is now determined by the source branch.
Feature branches named with an integer (e.g. feature/228) are considered to be "release" branches where a future release is under development. The github_automerge_feature task now supports merging from a release branch to other release branches with a higher number. Enable this feature using the update_future_releases option, which is off by default.

@davisagli - Made code changes, revamped tests (only a couple check the full log output now, and the others assert only on what is returned by task._get_branches_to_merge(), and updated docs. I ended up using the names that you suggested for the tasks. I think that 'automerge' in the name is a better fit.

@davisagli - Thanks for revamping my release notes. It reminded me that I didn't include a statement that multi-level parent child branches are supported. I've included a statement, example branching structure, and walkthrough of how a commit can trickle down through the structure.
Let me know if:

You think this is too similar to the example I give under the "Release to (Future) Release Merge" section and I can remove it.
If we want to keep it, I'm not very happy of how it renders on screen; it's a wall of text. Long branch names don't help either. Not sure if there's a better way to format that may help improve readability. Maybe a graphic would work better 🤔

fyi @davidmreed - docs work you may be interested in looking at.


When will UInt64 be supported in Realm?

Hi,
I tried to create an object with id of type UInt64, but I got an error ''Can't persist property 'id' with incompatible type.". I guess its not supported, any timeline on when it will be supported? What are the alternative solution now? I am using Swift.
Thanks,
Dicky

@dickyj Realm support only signed integer types. Such like Int, Int8, Int16, Int32 and Int64. Is it possible to use Int64 instead of UInt64? In general, Int64 has enough capacity.

Ok thx for the reply. It will have to do for now.


Fix consistent db credentials

fix https://github.com/Azure-Samples/azure-sql-db-session-recommender/issues/14
Modify database script to check for the same username and password used in bicep.
cc: @leestott

@yorek done.
Thank you so much - you can merge now!

@john0isaac thanks!


[EXAMPLES] Add new example: shaders_vertex_displacement

Description:
This pull request introduces a new example demonstrating vertex displacement on a plane model by simulating a simple wave effect in the ocean.
Version:
5.0
Test Platform:
macOS 14.5 & Linux (Ubuntu 20.04)

Did you add support for older versions of glsl?

@ZzzhHe Nice! Thank you very much for the addition!


New Tapo firmware causes 401 authorization error

I upgraded a Tapo D130 to the latest firmware (1.1.9, 240716) and lost the ability to connect via
tapo://@<IP_address>
I fixed this by switching the camera with one that was running and older firmware version (1.1.8).
I've not investigated this further, but thought I'd put this in the issue tracker in case this is something of which other people should be aware.  Tonight I'll try downgrading the first camera.

There are similar issues. Do a search. I don't have a number near me.


Update http.status_code to new OTEL spec

(Related with Bug https://github.com/grafana/ebpf-autoinstrument/issues/112, but not causing it)
In the latest OTEL spec, http.status_code has been renamed to http.response_status_code.
We should stick to that name to allow it working with future implementations of SpanMetrics.
The latest version of the library still does not include that change, so I created a temporary global variable to use it.

@grcevski good question! We could, but since we don't have yet any user or running system, maybe we can just stick to the latest spec. But I don't have a strong opinion about this. What do you think?

Codecov Report

Merging #113 (e00689c) into main (6250511) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #113   +/-   ##
=======================================
  Coverage   77.02%   77.02%
=======================================
  Files          23       23
  Lines        1658     1658
=======================================
  Hits         1277     1277
  Misses        285      285
  Partials       96       96

Flag
Coverage Δ

integration-test
63.49% <50.00%> (ø)

unittests
44.78% <75.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/export/prom/prom.go
94.36% <ø> (ø)

pkg/export/otel/metrics.go
80.37% <100.00%> (ø)

pkg/export/otel/traces.go
78.85% <100.00%> (ø)

My only concern is that we might be limited on ability to test and DEMO if the other products aren't caught up yet with this change. For example, if we wanted to show how this works to a new user. I'm not sure how fast these things move in the community, perhaps not an issue?

Ok! I'd suggest to leave this unmerged until we get a clearer picture of the status of the rename, as it seems that even libraries does not yet implement it. Then we can apply the change with a configuration option.

Superseded by https://github.com/grafana/beyla/pull/423 with the rest of 1.23 spec implementation.


[Question]: The Excel spreadsheet contains images that cannot be recognized

Describe your problem
The Excel spreadsheet contains images that cannot be recognized

May I ask if this issue has been resolved? Please see that the image is included in the uploaded Excel file, but it's not like this anymore.
Also, may I ask why this issue has been closed? Thank you


Bug: query parameters can also be picked up from constructors of injected classes

Description
class HealthController(Controller):
    path = "health"

    @get(path="", cache=False, tags=["health"])
    async def get_health_status(self, health_service: HealthService) -> Response[HealthStatusDto]:
        result = await health_service.get_health_status()
        return Response(result, status_code=HTTP_200_OK if result.all_ok else HTTP_400_BAD_REQUEST)

class HealthService:
    def __init__(self,
                 ldap_connection_pool: LdapConnectionPool
                 ):
        self._ldap_connection_pool: LdapConnectionPool = ldap_connection_pool

       # rest of class

class LdapConnectionPool:
    def __init__(self, config_service: ConfigService):
        self._config_service = config_service

       # rest of class

class ConfigService:

    def __init__(self, config: Config | None = None):
        if config:
            self._internal_config = config
        else:
            self._internal_config = None
            self.read_config()

       # rest of class

class Config(BaseModel):
    # Allow none for testing
    a_config: AConfig | None
    b_config: BConfig | None

after this our swagger showed:

I would assume, qParams (and such) would only be picked u in the signature of the method in the controller?
URL to code causing the issue
No response
MCVE
No response
Steps to reproduce
No response
Screenshots
No response
Logs
No response
Litestar Version
2.2.1
Platform

[X] Linux
[ ] Mac
[ ] Windows
[ ] Other (Please specify in the description above)

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh Litestar dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

:scream: so you can have qParams, hidden away in dependencies? This seems like a dangerous thing.
I would expect parameters, qParams and expected bodies to be only definable on the controller.
This way, you have a clean picture of what is exposed.

I think it actually makes sense if you think of query parameters as implicitly defined dependencies. You can request dependencies within dependencies without explicitly declaring them, so query parameters shouldn't be an exception to that.
That being said, we have previously talked about getting rid of the implicit requests for anything other than dependencies in favour of a more explicit approach.
This might look something like this then:

def some_dependency(another_query_param: Query[str]) -> str:
  return another_query_param

@get("/{path_param:str}", dependencies={"some": some_dependency})
async def handler(
    path_param: str,
    some: str,
    data: Body[dict[str, str]],
    query_param: Query[int],
    header_param: Header[str],
) -> str:
   ...

where everything that's not directly injected into the handler has to be explicitly declared.
Maybe it's worth bringing this up again @litestar-org/maintainers?
If we were to introduce this, we could also make it optional / hide it in the experimental features for now and maybe then make it the default for 3.0.

I like the idea, and it would allow us to get rid of reserved kwargs, e.g., users could name "data" whatever they want (recent relevant discord discussion: https://discord.com/channels/919193495116337154/1164442955357110292).


New example / section: company open source sponsoring (Spice Program)

Thanks for the very nice summary of the various models to finance a project! :) I just wanted to add to the Start a project while currently employed section that some companies are also sponsoring for any open source project you might be working on your free time.
You can read more about how the Spice Program works in our company: http://futurice.com/blog/sponsoring-free-time-open-source-activities. Hopefully this didn't come out as too pushy marketing, but as a new possible example for the list.
I would've created a new pull request but I'm not sure if this would be a new section on its own or an addition to the existing section(Start a project while currently employed). For example the existing cons are not exactly true for Spice Program:

Risk of undue company influence

The program allows any contribution, without any ties to the company.

Can lead to complicated governance later down the line

All IPR is owned by the employees, not the company.

Hi, thanks for the comment! I wanted to focus on categories that a person looking for funding can have control over (ex. in the case of the Spice Program, since it's for FT employees, the person would have to work at your company, which isn't very helpful to most people).
I like that your link transparently documents how the program works at your company, though. I think that could help people advocate for themselves at their current place of employment. I just added it as a case study. Thanks!


Keithley6517B added

Instrument Keithley6517B (Electrometer/High Resistance Meter) added. At the moment the class provides only the functionalities for single measurements. Procedures concerning filling and reading the buffer are not implemented so far.

Concerning the generalization I totally agree, that some functions e.g. "extract_value" can be taken out of this class. Unfortunately, I'm not so familiar with this project so far, to know where to put it instead. Please let me know, if there is already an hierarchy similar to my quickly drawn UML diagram (this case this exists, the functionality would be an issue for the KeithleyInstrument or the - not drawn - KeithleyDCElectricMeter).

There is no existing inheritance hierarchy for the Keithleys (with the exception of the KeithleyBuffer). From reading this PR I see a lot of similarity with the Keithley2400 sourcemeter and the Keithley2450 - I have a feeling some refactoring would be possible.
Maybe it would be best to merge this when it is complete as-is, and work on the refactoring in a later PR? This way the instrument driver gets in as soon as possible, and the refactoring effort can'T delay that.
One thing that I don't know right now how to implement is using Pymeasure properties (control, measurement, setting) with validators that are different by subclass. E.g. 3 different models have the same API/command set, but different voltage/current limits. @cjermain do you have a best practice here?
Further on, how can you handle limits that can be adjusted dynamically with validators (as the limits get baked in during class definition).

Thanks @bilderbuchi for your detailed analysis of my code. I have revised all mentioned segments.
Please let me know if there is anything new concerning the inheritance hierarchy. My main motivation for this is the exchangeability of instruments. In my special case, I wanted to use an Agilent frequency generator to replace the previously used internal voltage source of an SR830 lockin amplifier - both would implement "ACSource".

I recognize your motivation. I think in practice it will be hard to pull this off consistently. I think IVI aims at basically this problem, but for example python-ivi also does not really implement those ideas.

I think we should merge this as-is, and in follow-up work see what we can do to reduce duplication. There are some merge conflicts, can you try to resolve that, please?

I fixed the merge conflict. Thank you for your contribution!


Release v1.8.0

説明 / Description
v1.8.0 リリース
チェックリスト / Checklist

MUST

[ ] npm test passed
[ ] npm run lint was applied without warnings
[ ] changes of /docs/webapp not included (except release branch)
[ ] console.log not included (except script file)

RECOMMENDED (it depends on what you change)

[ ] unit test added/updated
[ ] i18n

Codecov Report
Patch and project coverage have no change.

Comparison is base (5d29898) 70.02% compared to head (c1d93f1) 70.02%.

:exclamation: Current head c1d93f1 differs from pull request most recent head 1577ff5. Consider uploading reports for the commit 1577ff5 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #545   +/-   ##
=======================================
  Coverage   70.02%   70.02%
=======================================
  Files          79       79
  Lines       16734    16734
  Branches     2187     2187
=======================================
  Hits        11718    11718
  Misses       2857     2857
  Partials     2159     2159

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Confirmation popup on accidental escape button press

Is your feature request related to a problem?
Apparently pressing escape immediately removes the memo you were typing without any sort of confirmation.
Ran into this today by having a cat walk near my keyboard and laying down next to it, removing the whole unsaved memo (seems to also be a thing when you edit memos).
Describe the solution you'd like
Perhaps a sort of confirmation message on escape press if there's text in the box?
It's a QOL at most, but in my case I use memos to write planning agendas for my job and they're quite lengthy at times so an accidental button press can be quite a loss.
Additional context
No worries if this is not needed/interesting QOL. But since it's something I've faced myself recently I figured I would at least ask about it (maybe it's not even intentionally missing?).

Apparently pressing escape immediately removes the memo you were typing without any sort of confirmation.

Cannot reproduce, please check again in https://demo.usememos.com/.

Ran into this today by having a cat walk near my keyboard and laying down next to it, removing the whole unsaved memo (seems to also be a thing when you edit memos).

lol 🤣

Hello there,
Attached is a gif that shows what I mean. I typed something in there, then pressed escape (what my cat did) and all the input was gone.

I found this before... but I regard it as a feature, lol.
So I think we could add a confirm dialog (or other ways) when press ESC or click Cancel edit.


[Documentation:] Add docstrings to FR Library

Prioritize for UX test.

Added some for UX test, but others remain and existing may need updates per new design.


[FR] event.cookies.getAll() return value should be object, not array of objects. (bcs of following standard, let's make helper function instead changing API)

Describe the problem
Today we have weird returned value when it comes to cookies.
code: event.cookies.getAll() returns
[
    {
        "name": "token",
        "value": "xxx"
    },
    {
        "name": "something",
        "value": "blabla"
    }
]

This is really weird output, because to get specific cookie, we need to call:
const token = cookies.find(c => c.name === "token")?.value;
or transform it to object with reduce function or with (if we have one value per cookie, this doesn't handle multiple values in one cookie):
const cookies = Object.fromEntries(event.cookies.getAll().map(c => [c.name, c.value]));

that gives us more usefull output (shorter and easier to work with):
{
    "token": "xxx",
    "something": "blabla"
}

Describe the proposed solution
Change API of event.cookies.getAll(), this is breaking change and we would need to wait until SvelteKit@2
I propose to change returned type from:
{
    name: string;
    value: string;
}[]

to
{ [name: string]: string }

or respecrively to handle multiple values in one cookie, we will have:
{ [name: string]: string | string[] }

E: AFTER @GrygrFlzr sent MDN docs about getAll method in JS itself, I think it's not good to change semantic of function, but we still can provide helper function, and there is plus to it, we can do it right away (no breaking change)
const cookies = somehelperfunction(event.cookies);

it would internally call .getAll() and use transforming to our desired type.
Alternatives considered
Let it be as is... but even array of arrays would be easier to work with Object.fromEntries like pair of touples, instead of weird array of objects... but why not object itself?
Importance
would make my life easier
Additional Information
No response

MDN docs about getAll method in JS itself, I think it's not good to change semantic of function, but we still can provide helper function, and there is plus to it, we can do it right away (no breaking change)

I think it might be best to match the browser standard for now and leave users to implement the helper function themselves.

How does helper function break standards? I think it can be part of Kit, same as sequence for example.

The sequence helper function does a lot more than converting an array of objects into an object of arrays. It's also very specific to the framework.


The CF home page should say how to cite CF

I recall that there is now a DOI for CF v1.11 but I haven't been able to find it on the website nor in the conventions document. There should perhaps be a "How to cite CF" button on the website (or similar) as well as something in the conventions document.
In the meantime, could someone please provide me with the recommended citation? I am making final touches to an article I would like to submit soon.

I agree that this is far from transparent (though I appreciate the DOI is a work in progress and it is likely intended to be clarified much further after that is sorted) but is an important and common question anyone might wonder about.
For the above reasons I also think it would be good to add this ('How do I cite CF?') as a question under the FAQs page and then link that to the button or otherwise which provides the relevant citation or related information.

Thanks, Jonathan, This is very help.
Luke


Update elasticsearch_test.go

Summary by CodeRabbit

Chores

Added a commented-out line for potential future use in Elasticsearch integration tests. No changes to the functionality or public interface.

@coderabbitai ES client leaking is our fault, the unit test is kinda unstable and doesn't properly close all clients.   failing with following goroutine leaks:
goroutine 23 [running]:
testing.tRunner.func1.2({0x23d4d20, 0x2a57400})
/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1631 +0x3f7
testing.tRunner.func1()
/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1634 +0x6b6
panic({0x23d4d20?, 0x2a57400?})
/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:770 +0x132
github.com/olivere/elastic.(*BulkProcessor).Add(...)
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/bulk_processor.go:404
github.com/jaegertracing/jaeger/pkg/es/wrapper.IndexServiceWrapper.Add(...)
/home/runner/work/jaeger/jaeger/pkg/es/wrapper/wrapper.go:243
github.com/jaegertracing/jaeger/plugin/storage/es/spanstore.(*ServiceOperationStorage).Write(0xc0003bc520, {0xc000048ab0, 0x2a}, 0xc000500460)
/home/runner/work/jaeger/jaeger/plugin/storage/es/spanstore/service_operation.go:75 +0x2d1
github.com/jaegertracing/jaeger/plugin/storage/es/spanstore.(*SpanWriter).writeService(...)
/home/runner/work/jaeger/jaeger/plugin/storage/es/spanstore/writer.go:163
github.com/jaegertracing/jaeger/plugin/storage/es/spanstore.(*SpanWriter).WriteSpan(0xc00007e140, {0x2654d94?, 0x21?}, 0xc0002090e0)
/home/runner/work/jaeger/jaeger/plugin/storage/es/spanstore/writer.go:143 +0x292
github.com/jaegertracing/jaeger/plugin/storage/integration.(*StorageIntegration).writeTrace(0xc0001b91e0, 0xc0001be000, 0xc0002e8000)
/home/runner/work/jaeger/jaeger/plugin/storage/integration/integration.go:339 +0x21c
github.com/jaegertracing/jaeger/plugin/storage/integration.(*StorageIntegration).loadParseAndWriteExampleTrace(0xc0001b91e0, 0xc0001be000)
/home/runner/work/jaeger/jaeger/plugin/storage/integration/integration.go:346 +0xab
github.com/jaegertracing/jaeger/plugin/storage/integration.(*StorageIntegration).testGetOperations(0xc0001b91e0, 0xc0001be000)
/home/runner/work/jaeger/jaeger/plugin/storage/integration/integration.go:234 +0x405
testing.tRunner(0xc0001be000, 0xc0001447c0)
/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1689 +0x21f
created by testing.(*T).Run in goroutine 53
/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1742 +0x826
❌ FAIL	github.com/jaegertracing/jaeger/plugin/storage/integration	1.996s
❌ FAIL
T06:05:17 teardown_storage 7f0cc04b503168b0757586da4af2d50818e456ef907bc3ba7f2e555e92493299
T06:05:17 local cid=7f0cc04b503168b0757586da4af2d50818e456ef907bc3ba7f2e555e92493299
T06:05:17 docker kill 7f0cc04b503168b0757586da4af2d50818e456ef907bc3ba7f2e555e92493299
7f0cc04b503168b0757586da4af2d50818e456ef907bc3ba7f2e555e92493299
Error: Process completed with exit code 2.

@coderabbitiai Implement them

@coderabbitiai Implement them

@coderabbitai

@coderabbitai Implement them and give modified file

@coderabbitai Implement them and give modified file

@coderabbitai

@coderabbitai The test CI is failing: Error: plugin/storage/integration/elasticsearch_test.go:98:29: s.v8Client.Transport.CloseIdleConnections undefined (type elastictransport.Interface has no field or method CloseIdleConnections)

@coderabbitai The tests are failing with goroutine leaks:
--- ✅ PASS: TestElasticsearchStorage_AllTagsAsObjectFields/GetLatestProbability (1.14s)
=== RUN   TestElasticsearchStorage_IndexTemplates
logger.go:146: 2024-05-21T06:46:56.297Z	INFO	config/config.go:192	Elasticsearch detected	{"version": 8}
logger.go:146: 2024-05-21T06:46:56.301Z	INFO	config/config.go:192	Elasticsearch detected	{"version": 8}
--- ✅ PASS: TestElasticsearchStorage_IndexTemplates (0.09s)
=== RUN   TestIndexCleaner_doNotFailOnEmptyStorage
Unable to find image 'jaegertracing/jaeger-es-index-cleaner:latest' locally
latest: Pulling from jaegertracing/jaeger-es-index-cleaner
4abcf2066143: Already exists
3fb365479c6d: Pulling fs layer
bf6fe49cd1fe: Pulling fs layer
d106d5d11ab2: Pulling fs layer
bf6fe49cd1fe: Download complete
3fb365479c6d: Download complete
3fb365479c6d: Pull complete
bf6fe49cd1fe: Pull complete
d106d5d11ab2: Verifying Checksum
d106d5d11ab2: Download complete
d106d5d11ab2: Pull complete
Digest: sha256:22413d104a687eb69afd1226bbd3517aee06066bdd933f23a6522249cea06329
Status: Downloaded newer image for jaegertracing/jaeger-es-index-cleaner:latest
{"level":"info","ts":1716274018.3810167,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-15T00:00:00Z"}
{"level":"info","ts":1716274018.3810616,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":null}
{"level":"info","ts":1716274018.3816876,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
{"level":"info","ts":1716274018.5252206,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-15T00:00:00Z"}
{"level":"info","ts":1716274018.5257165,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":null}
{"level":"info","ts":1716274018.525816,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
{"level":"info","ts":1716274018.673665,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-15T00:00:00Z"}
{"level":"info","ts":1716274018.6737294,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":null}
{"level":"info","ts":1716274018.673804,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
--- ✅ PASS: TestIndexCleaner_doNotFailOnEmptyStorage (2.34s)
=== RUN   TestIndexCleaner_doNotFailOnFullStorage
Unable to find image 'jaegertracing/jaeger-es-rollover:latest' locally
latest: Pulling from jaegertracing/jaeger-es-rollover
4abcf2066143: Already exists
3fb365479c6d: Already exists
bf6fe49cd1fe: Already exists
8de1a4a37032: Pulling fs layer
8de1a4a37032: Verifying Checksum
8de1a4a37032: Download complete
8de1a4a37032: Pull complete
Digest: sha256:abc006f499b2f699d2cad51d3c4ff114add401c840da91fcc8cd9a8e229a1d7d
Status: Downloaded newer image for jaegertracing/jaeger-es-rollover:latest
{"level":"info","ts":1716274022.340834,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2020-04-13T00:00:00Z"}
{"level":"info","ts":1716274022.340878,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-service-000002","CreationTime":"2024-05-21T06:47:01.938Z","Aliases":{"jaeger-service-read":true,"jaeger-service-write":true}},{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:46:58.76Z","Aliases":{}},{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:01.277Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:01.825Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-archive","CreationTime":"2024-05-21T06:46:58.896Z","Aliases":{}},{"Index":"jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:00.739Z","Aliases":{"jaeger-span-archive-read":true}},{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:01.54Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:02.058Z","Aliases":{"jaege
{"level":"info","ts":1716274022.3410783,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
{"level":"info","ts":1716274024.499952,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2020-04-13T00:00:00Z"}
{"level":"info","ts":1716274024.5000002,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:03.691Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:04.21Z","Aliases":{"jaeger-dependencies-read":true,"jaeger-dependencies-write":true}},{"Index":"jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:02.634Z","Aliases":{}},{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:03.487Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:03.964Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-archive","CreationTime":"2024-05-21T06:47:02.765Z","Aliases":{}},{"Index":"jaeger-span-archive-000002","CreationTime":"2024-05-21T06:47:03.229Z","Aliases":{"jaeger-span-archive-read":true,"jaeger-span-archive-write":true}},{"Index":"jaeger-sampling-2019-01-01","Cre
{"level":"info","ts":1716274024.5001798,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
{"level":"info","ts":1716274026.5850964,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2020-04-13T00:00:00Z"}
{"level":"info","ts":1716274026.5851395,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:05.87Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:06.329Z","Aliases":{"jaeger-dependencies-read":true,"jaeger-dependencies-write":true}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:04.915Z","Aliases":{}},{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:04.742Z","Aliases":{}},{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:05.658Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:06.113Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:04.649Z","Aliases":{}},{"Index":"jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:05.159Z","Aliases":{"jaeger-span-arch
{"level":"info","ts":1716274026.5852752,"caller":"es-index-cleaner/main.go:102","msg":"No indices to delete"}
--- ✅ PASS: TestIndexCleaner_doNotFailOnFullStorage (7.91s)
=== RUN   TestIndexCleaner
=== RUN   TestIndexCleaner/RemoveDailyIndices_no_prefix,[]
{"level":"info","ts":1716274028.654796,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274028.6548307,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-span-archive","CreationTime":"2024-05-21T06:47:07.033Z","Aliases":{}},{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:07.92Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:06.992Z","Aliases":{}},{"Index":"jaeger-service-000001","CreationTime":"2024-05-21T06:47:07.819Z","Aliases":{"jaeger-service-read":true}},{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:06.803Z","Aliases":{}},{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:07.722Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:06.717Z","Aliases":{}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:08.399Z","Aliases":{"jaeger-dependencies-read":true,"jaeger-dependencies-write":true}},{"Index":"jaeger-dependencies-2019-01-01
{"level":"info","ts":1716274028.6549735,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:06.992Z","Aliases":{}},{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:06.803Z","Aliases":{}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:06.717Z","Aliases":{}},{"Index":"jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:06.898Z","Aliases":{}}]}
=== RUN   TestIndexCleaner/RemoveDailyIndices_prefix,[]
{"level":"info","ts":1716274030.670897,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274030.6709619,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"integration-test-jaeger-span-archive","CreationTime":"2024-05-21T06:47:09.047Z","Aliases":{}},{"Index":"integration-test-jaeger-span-archive-000002","CreationTime":"2024-05-21T06:47:09.474Z","Aliases":{"integration-test-jaeger-span-archive-read":true,"integration-test-jaeger-span-archive-write":true}},{"Index":"integration-test-jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:09.952Z","Aliases":{"integration-test-jaeger-dependencies-read":true}},{"Index":"integration-test-jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:08.922Z","Aliases":{}},{"Index":"integration-test-jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:08.884Z","Aliases":{}},{"Index":"integration-test-jaeger-span-000001","CreationTime":"2024-05-21T06:47:09.732Z","Aliases":{"integration-test-jaeger-span-read":true}},{"Index":"integration-test-jaeger-span-2019-01-01","CreationTime":"202
{"level":"info","ts":1716274030.6711102,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"integration-test-jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:08.922Z","Aliases":{}},{"Index":"integration-test-jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:08.884Z","Aliases":{}},{"Index":"integration-test-jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:08.846Z","Aliases":{}},{"Index":"integration-test-jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:08.964Z","Aliases":{}}]}
=== RUN   TestIndexCleaner/RemoveRolloverIndices_no_prefix,[ROLLOVER=true]
{"level":"info","ts":1716274032.6182566,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274032.6183004,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:10.889Z","Aliases":{}},{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:11.687Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:12.154Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:10.85Z","Aliases":{}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:12.364Z","Aliases":{"jaeger-dependencies-read":true,"jaeger-dependencies-write":true}},{"Index":"jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:10.926Z","Aliases":{}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:10.963Z","Aliases":{}},{"Index":"jaeger-service-000002","CreationTime":"2024-05-21T06:47:12.26Z","Aliases":{"jaeger-service-read":true,"jaeger-service-write":
{"level":"info","ts":1716274032.61846,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"jaeger-span-000001","CreationTime":"2024-05-21T06:47:11.687Z","Aliases":{"jaeger-span-read":true}},{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:11.916Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-service-000001","CreationTime":"2024-05-21T06:47:11.8Z","Aliases":{"jaeger-service-read":true}}]}
=== RUN   TestIndexCleaner/RemoveRolloverIndices_prefix,[ROLLOVER=true]
{"level":"info","ts":1716274034.6927247,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274034.6927722,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"integration-test-jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:14.406Z","Aliases":{"integration-test-jaeger-dependencies-read":true,"integration-test-jaeger-dependencies-write":true}},{"Index":"integration-test-jaeger-service-000002","CreationTime":"2024-05-21T06:47:14.287Z","Aliases":{"integration-test-jaeger-service-read":true,"integration-test-jaeger-service-write":true}},{"Index":"integration-test-jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:12.822Z","Aliases":{}},{"Index":"integration-test-jaeger-span-000002","CreationTime":"2024-05-21T06:47:14.179Z","Aliases":{"integration-test-jaeger-span-read":true,"integration-test-jaeger-span-write":true}},{"Index":"integration-test-jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:13.196Z","Aliases":{"integration-test-jaeger-span-archive-read":true}},{"Index":"integration-test-jaeger-span-archive-000002
{"level":"info","ts":1716274034.6933217,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"integration-test-jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:13.926Z","Aliases":{"integration-test-jaeger-dependencies-read":true}},{"Index":"integration-test-jaeger-service-000001","CreationTime":"2024-05-21T06:47:13.809Z","Aliases":{"integration-test-jaeger-service-read":true}},{"Index":"integration-test-jaeger-span-000001","CreationTime":"2024-05-21T06:47:13.694Z","Aliases":{"integration-test-jaeger-span-read":true}}]}
=== RUN   TestIndexCleaner/RemoveArchiveIndices_no_prefix,[ARCHIVE=true]
{"level":"info","ts":1716274036.616987,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274036.6170309,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:14.898Z","Aliases":{}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:16.144Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:14.86Z","Aliases":{}},{"Index":"jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:16.368Z","Aliases":{"jaeger-dependencies-read":true,"jaeger-dependencies-write":true}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:14.967Z","Aliases":{}},{"Index":"jaeger-service-000001","CreationTime":"2024-05-21T06:47:15.766Z","Aliases":{"jaeger-service-read":true}},{"Index":"jaeger-service-000002","CreationTime":"2024-05-21T06:47:16.259Z","Aliases":{"jaeger-service-read":true,"jaeger-service-write":true}},{"Index":"jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:15.18Z","Alia
{"level":"info","ts":1716274036.6171808,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:15.18Z","Aliases":{"jaeger-span-archive-read":true}}]}
=== RUN   TestIndexCleaner/RemoveArchiveIndices_prefix,[ARCHIVE=true]
{"level":"info","ts":1716274038.5132174,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274038.5132532,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"integration-test-jaeger-service-000001","CreationTime":"2024-05-21T06:47:17.736Z","Aliases":{"integration-test-jaeger-service-read":true}},{"Index":"integration-test-jaeger-span-000002","CreationTime":"2024-05-21T06:47:18.097Z","Aliases":{"integration-test-jaeger-span-read":true,"integration-test-jaeger-span-write":true}},{"Index":"integration-test-jaeger-span-archive","CreationTime":"2024-05-21T06:47:16.964Z","Aliases":{}},{"Index":"integration-test-jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:17.119Z","Aliases":{"integration-test-jaeger-span-archive-read":true}},{"Index":"integration-test-jaeger-span-archive-000002","CreationTime":"2024-05-21T06:47:17.361Z","Aliases":{"integration-test-jaeger-span-archive-read":true,"integration-test-jaeger-span-archive-write":true}},{"Index":"integration-test-jaeger-dependencies-000002","CreationTime":"2024-05-21T06:47:18.281Z","Aliase
{"level":"info","ts":1716274038.513872,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"integration-test-jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:17.119Z","Aliases":{"integration-test-jaeger-span-archive-read":true}}]}
=== RUN   TestIndexCleaner/RemoveDailyIndices_with_adaptiveSampling_no_prefix,[]
{"level":"info","ts":1716274040.6284502,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274040.6284933,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"jaeger-dependencies-000001","CreationTime":"2024-05-21T06:47:19.723Z","Aliases":{"jaeger-dependencies-read":true}},{"Index":"jaeger-sampling-000002","CreationTime":"2024-05-21T06:47:20.38Z","Aliases":{"jaeger-sampling-read":true,"jaeger-sampling-write":true}},{"Index":"jaeger-span-archive","CreationTime":"2024-05-21T06:47:18.87Z","Aliases":{}},{"Index":"jaeger-span-000002","CreationTime":"2024-05-21T06:47:20.077Z","Aliases":{"jaeger-span-read":true,"jaeger-span-write":true}},{"Index":"jaeger-span-archive-000001","CreationTime":"2024-05-21T06:47:19.036Z","Aliases":{"jaeger-span-archive-read":true}},{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:18.756Z","Aliases":{}},{"Index":"jaeger-sampling-000001","CreationTime":"2024-05-21T06:47:19.842Z","Aliases":{"jaeger-sampling-read":true}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:18.829Z","Alia
{"level":"info","ts":1716274040.628989,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:18.756Z","Aliases":{}},{"Index":"jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:18.829Z","Aliases":{}},{"Index":"jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:18.792Z","Aliases":{}},{"Index":"jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:18.716Z","Aliases":{}}]}
=== RUN   TestIndexCleaner/RemoveDailyIndices_with_adaptiveSampling_prefix,[]
{"level":"info","ts":1716274042.7377048,"caller":"es-index-cleaner/main.go:89","msg":"Indices before this date will be deleted","date":"2024-05-22T00:00:00Z"}
{"level":"info","ts":1716274042.7377543,"caller":"es-index-cleaner/main.go:98","msg":"Queried indices","indices":[{"Index":"integration-test-jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:20.89Z","Aliases":{}},{"Index":"integration-test-jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:20.924Z","Aliases":{}},{"Index":"integration-test-jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:20.858Z","Aliases":{}},{"Index":"integration-test-jaeger-span-000002","CreationTime":"2024-05-21T06:47:22.192Z","Aliases":{"integration-test-jaeger-span-read":true,"integration-test-jaeger-span-write":true}},{"Index":"integration-test-jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:20.821Z","Aliases":{}},{"Index":"integration-test-jaeger-sampling-000001","CreationTime":"2024-05-21T06:47:21.957Z","Aliases":{"integration-test-jaeger-sampling-read":true}},{"Index":"integration-test-jaeger-sampling-000002","CreationTime":"2024-05-21T06:47:22.476Z","Aliases":{"integration-test-jaeger-sam
{"level":"info","ts":1716274042.7379391,"caller":"es-index-cleaner/main.go:105","msg":"Deleting indices","indices":[{"Index":"integration-test-jaeger-dependencies-2019-01-01","CreationTime":"2024-05-21T06:47:20.89Z","Aliases":{}},{"Index":"integration-test-jaeger-sampling-2019-01-01","CreationTime":"2024-05-21T06:47:20.924Z","Aliases":{}},{"Index":"integration-test-jaeger-service-2019-01-01","CreationTime":"2024-05-21T06:47:20.858Z","Aliases":{}},{"Index":"integration-test-jaeger-span-2019-01-01","CreationTime":"2024-05-21T06:47:20.821Z","Aliases":{}}]}
--- ✅ PASS: TestIndexCleaner (16.23s)
--- ✅ PASS: TestIndexCleaner/RemoveDailyIndices_no_prefix,[] (2.14s)
--- ✅ PASS: TestIndexCleaner/RemoveDailyIndices_prefix,[] (2.02s)
--- ✅ PASS: TestIndexCleaner/RemoveRolloverIndices_no_prefix,[ROLLOVER=true] (1.94s)
--- ✅ PASS: TestIndexCleaner/RemoveRolloverIndices_prefix,[ROLLOVER=true] (2.08s)
--- ✅ PASS: TestIndexCleaner/RemoveArchiveIndices_no_prefix,[ARCHIVE=true] (1.91s)
--- ✅ PASS: TestIndexCleaner/RemoveArchiveIndices_prefix,[ARCHIVE=true] (1.92s)
--- ✅ PASS: TestIndexCleaner/RemoveDailyIndices_with_adaptiveSampling_no_prefix,[] (2.11s)
--- ✅ PASS: TestIndexCleaner/RemoveDailyIndices_with_adaptiveSampling_prefix,[] (2.10s)
=== RUN   TestIndexRollover_FailIfILMNotPresent
Error: ILM policy jaeger-ilm-policy doesn't exist in Elasticsearch. Please create it and re-run init
--- ✅ PASS: TestIndexRollover_FailIfILMNotPresent (0.25s)
=== RUN   TestIndexRollover_CreateIndicesWithILM
=== RUN   TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName
=== RUN   TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/NoPrefix
=== RUN   TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/WithPrefix
=== RUN   TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/WithAdaptiveSampling
=== RUN   TestIndexRollover_CreateIndicesWithILM/SetPolicyName
=== RUN   TestIndexRollover_CreateIndicesWithILM/SetPolicyName/NoPrefix
=== RUN   TestIndexRollover_CreateIndicesWithILM/SetPolicyName/WithPrefix
=== RUN   TestIndexRollover_CreateIndicesWithILM/SetPolicyName/WithAdaptiveSampling
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM (4.33s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName (2.21s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/NoPrefix (0.67s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/WithPrefix (0.69s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/DefaultPolicyName/WithAdaptiveSampling (0.84s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/SetPolicyName (2.13s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/SetPolicyName/NoPrefix (0.69s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/SetPolicyName/WithPrefix (0.65s)
--- ✅ PASS: TestIndexRollover_CreateIndicesWithILM/SetPolicyName/WithAdaptiveSampling (0.78s)
=== RUN   TestGRPCRemoteStorage
integration.go:109: This test requires environment variable STORAGE=grpc
--- 🔕 SKIP: TestGRPCRemoteStorage (0.00s)
=== RUN   TestKafkaStorage
integration.go:109: This test requires environment variable STORAGE=kafka
--- 🔕 SKIP: TestKafkaStorage (0.00s)
=== RUN   TestMemoryStorage
integration.go:109: This test requires environment variable STORAGE=memory
--- 🔕 SKIP: TestMemoryStorage (0.00s)
=== RUN   TestDedupeSpans
--- ✅ PASS: TestDedupeSpans (0.00s)
✅ PASS
coverage: 8.8% of statements in ./...
goleak: Errors on successful test run: found unexpected goroutines:
[Goroutine 236 in state select, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc000410240)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 234
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 217 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc00057c820)
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:1060 +0x21b
created by github.com/olivere/elastic.DialContext in goroutine 216
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:404 +0xcd7
Goroutine 21 in state select, 1 minutes, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc0001659e0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 38
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 22 in state select, 1 minutes, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc0001659e0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 38
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 174 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc0004d21a0)
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:1060 +0x21b
created by github.com/olivere/elastic.DialContext in goroutine 238
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:404 +0xcd7
Goroutine 42 in state select, 1 minutes, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc0002546c0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 40
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 43 in state select, 1 minutes, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc0002546c0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 40
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 47 in state IO wait, with internal/poll.runtime_pollWait on top of the stack:
internal/poll.runtime_pollWait(0x7f4209148c50, 0x72)
/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000194b20, 0x72, 0x0)
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1
internal/poll.(*pollDesc).waitRead(...)
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000194b00, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_unix.go:164 +0x466
net.(*netFD).Read(0xc000194b00, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/fd_posix.go:55 +0x4b
net.(*conn).Read(0xc00018e4d0, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/net.go:179 +0xad
net/http.(*persistConn).Read(0xc000360b40, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1977 +0xf9
bufio.(*Reader).fill(0xc000188de0)
/opt/hostedtoolcache/go/1.22.3/x64/src/bufio/bufio.go:110 +0x2b0
bufio.(*Reader).Peek(0xc000188de0, 0x1)
/opt/hostedtoolcache/go/1.22.3/x64/src/bufio/bufio.go:148 +0xc7
net/http.(*persistConn).readLoop(0xc000360b40)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2141 +0x354
created by net/http.(*Transport).dialConn in goroutine 45
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 48 in state select, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc000360b40)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 45
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 349 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc0004d2b60)

@coderabbitai This are logs of goroutine leaks:
coverage: 8.8% of statements in ./...
goleak: Errors on successful test run: found unexpected goroutines:
[Goroutine 236 in state select, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc000410240)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 234
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 217 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc00057c820)
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:1060 +0x21b
created by github.com/olivere/elastic.DialContext in goroutine 216
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:404 +0xcd7
Goroutine 21 in state select, 1 minutes, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc0001659e0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 38
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 22 in state select, 1 minutes, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc0001659e0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 38
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 174 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc0004d21a0)
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:1060 +0x21b
created by github.com/olivere/elastic.DialContext in goroutine 238
/home/runner/go/pkg/mod/github.com/olivere/elastic@v6.2.37+incompatible/client.go:404 +0xcd7
Goroutine 42 in state select, 1 minutes, with net/http.(*persistConn).readLoop on top of the stack:
net/http.(*persistConn).readLoop(0xc0002[546](https://github.com/chintu-777/jaeger/actions/runs/9169795726/job/25210867006?pr=1#step:9:547)c0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2261 +0x154c
created by net/http.(*Transport).dialConn in goroutine 40
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 43 in state select, 1 minutes, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc0002546c0)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 40
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 47 in state IO wait, with internal/poll.runtime_pollWait on top of the stack:
internal/poll.runtime_pollWait(0x7f4209148c50, 0x72)
/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000194b20, 0x72, 0x0)
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1
internal/poll.(*pollDesc).waitRead(...)
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000194b00, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/internal/poll/fd_unix.go:164 +0x466
net.(*netFD).Read(0xc000194b00, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/fd_posix.go:55 +0x4b
net.(*conn).Read(0xc00018e4d0, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/net.go:179 +0xad
net/http.(*persistConn).Read(0xc000360b40, {0xc000382000, 0x1000, 0x1000})
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1977 +0xf9
bufio.(*Reader).fill(0xc000188de0)
/opt/hostedtoolcache/go/1.22.3/x64/src/bufio/bufio.go:110 +0x2b0
bufio.(*Reader).Peek(0xc000188de0, 0x1)
/opt/hostedtoolcache/go/1.22.3/x64/src/bufio/bufio.go:148 +0xc7
net/http.(*persistConn).readLoop(0xc000360b40)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2141 +0x354
created by net/http.(*Transport).dialConn in goroutine 45
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1799 +0x2774
Goroutine 48 in state select, with net/http.(*persistConn).writeLoop on top of the stack:
net/http.(*persistConn).writeLoop(0xc000360b40)
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:2444 +0x1c5
created by net/http.(*Transport).dialConn in goroutine 45
/opt/hostedtoolcache/go/1.22.3/x64/src/net/http/transport.go:1800 +0x27ff
Goroutine 349 in state select, with github.com/olivere/elastic.(*Client).healthchecker on top of the stack:
github.com/olivere/elastic.(*Client).healthchecker(0xc0004d2b60)

@coderabbitiai Incorporate them all and give modified changes

@coderabbitiai Incorporate them all and give modified changes

@coderabbitai

I have added some changes yu have said above and this are results of lint fails: ```
Error: cmd/query/app/http_handler_test.go:138:6: undefined: t
Error: cmd/query/app/http_handler_test.go:141:1: missing return (typecheck)
// Copyright (c) 2020 The Jaeger Authors.
pkg/clientcfg/clientcfghttp/cfgmgr.go:1: : # github.com/jaegertracing/jaeger/pkg/clientcfg/clientcfghttp [github.com/jaegertracing/jaeger/pkg/clientcfg/clientcfghttp.test]
Error: pkg/clientcfg/clientcfghttp/handler_test.go:80:6: undefined: t (typecheck)
// Copyright (c) 2020 The Jaeger Authors.
pkg/healthcheck/handler.go:1: : # github.com/jaegertracing/jaeger/pkg/healthcheck [github.com/jaegertracing/jaeger/pkg/healthcheck.test]
Error: pkg/healthcheck/internal_test.go:73:12: no new variables on left side of :=
Error: pkg/healthcheck/internal_test.go:78:1: missing return (typecheck)
// Copyright (c) 2019 The Jaeger Authors.

Error: plugin/storage/integration/elasticsearch_test.go:251:1: commentFormatting: put a space between // and comment text (gocritic)
//client.close();
^
plugin/storage/integration/elasticsearch_test.go:110: File is not gofmt-ed with -s (gofmt)
t.Fatal(err)
make: *** [Makefile:190: lint] Error 1
Error: Process completed with exit code 2.

I have added some changes yu have said above and this are results of lint fails:
Error: cmd/query/app/http_handler_test.go:138:6: undefined: t
Error: cmd/query/app/http_handler_test.go:141:1: missing return (typecheck)
// Copyright (c) 2020 The Jaeger Authors.
pkg/clientcfg/clientcfghttp/cfgmgr.go:1: : # github.com/jaegertracing/jaeger/pkg/clientcfg/clientcfghttp [github.com/jaegertracing/jaeger/pkg/clientcfg/clientcfghttp.test]
Error: pkg/clientcfg/clientcfghttp/handler_test.go:80:6: undefined: t (typecheck)
// Copyright (c) 2020 The Jaeger Authors.
pkg/healthcheck/handler.go:1: : # github.com/jaegertracing/jaeger/pkg/healthcheck [github.com/jaegertracing/jaeger/pkg/healthcheck.test]
Error: pkg/healthcheck/internal_test.go:73:12: no new variables on left side of :=
Error: pkg/healthcheck/internal_test.go:78:1: missing return (typecheck)
// Copyright (c) 2019 The Jaeger Authors.

Error: plugin/storage/integration/elasticsearch_test.go:251:1: commentFormatting: put a space between `//` and comment text (gocritic)
//client.close();
^
plugin/storage/integration/elasticsearch_test.go:110: File is not `gofmt`-ed with `-s` (gofmt)
       t.Fatal(err)
make: *** [Makefile:190: lint] Error 1
Error: Process completed with exit code 2.

@coderabbitai


Status Code 200 from api always get timout

Environment info:

KrakenD version: Version: 2.0.6
System info: Docker
Hardware specs:
Backend technology: Node

Describe what are you trying to do:
O trying to configure krakend to integrate microservices, and when the api return HTTP/200, the krakend always get timout with HTTP/500, but when api return some error the krakend return correct, same as the api.
Your configuration file:

{
    "$schema": "https://www.krakend.io/schema/v3.json",
    "version": 3,
    "name": "KrakenD - API Gateway",
    "port": 8080,
    "host": [
        "http://localhost:8080"
    ],
    "extra_config": {
        "security/cors": {
            "allow_origins": [
                "*"
            ],
            "expose_headers": [
                "Content-Length"
            ],
            "max_age": "12h",
            "allow_methods": [
                "GET",
                "HEAD",
                "POST",
                "PUT",
                "DELETE"
            ],
            "allow_headers": ["Origin", "Authorization", "Content-Type"]
        },
        "plugin/http-server": {
            "name": [
                "static-filesystem"
            ],
            "static-filesystem": {
                "prefix": "/media/assets",
                "path": "/var/www/static"
            }
        }
    },
    "timeout": "30000ms",
    "cache_ttl": "3000s",
    "output_encoding": "json",
    "disable_rest": true,
    "sequential_start": true,
    "endpoints": [{
            "endpoint": "/sessions",
            "timeout": "10s",
            "input_headers": ["Content-Type"],
            "method": "POST",
            "backend": [{
                "host": [
                    "<IP_ADDRESS>:1000"
                ],
                "method": "POST",
                "url_pattern": "/sessions"
            }]
        }
    ],
    "plugin": {
        "pattern": ".so",
        "folder": "/opt/krakend/plugins/"
    }
}

Configuration check output:
Result of krakend check -dtc krakend.json --lint command
Global settings
        Name: KrakenD - API Gateway
        Port: 8080
        Default backend hosts: [http://localhost:8080]
        Folder: /opt/krakend/plugins/
        Pattern: .so
2 global component configuration(s):
- plugin/http-server
- security/cors
5 API endpoint(s):
        - POST /sessions
        Timeout: 10s
        Connecting to 1 backend(s):
                [+] POST /sessions
                Timeout: 10s
                Hosts: [http://<IP_ADDRESS>:1000]

        - GET /tickets
        Timeout: 10s
        Connecting to 1 backend(s):
                [+] GET /tickets
                Timeout: 10s
                Hosts: [http://<IP_ADDRESS>:1002]
                1 backend component configuration(s):
                - backend/http

        - POST /test2
        Timeout: 10s
        Connecting to 1 backend(s):
                [+] POST /sessions
                Timeout: 10s
                Hosts: [http://localhost:3001]
                1 backend component configuration(s):
                - backend/http

        - GET /test2
        Timeout: 30s
        Connecting to 1 backend(s):
                [+] GET /sessions
                Timeout: 30s
                Hosts: [http://localhost:3001]

        - GET /test
        Timeout: 30s
        Connecting to 1 backend(s):
                [+] GET /hello-world/hello/world
                Timeout: 30s
                Hosts: [https://sandbox.api.service.nhs.uk]

0 async agent(s):
Syntax OK!

Commands used:
How did you start the software?
version: "3.6"

networks:
  krakend-network:
    driver: bridge

services:
  krakend_ce:
    # The :watch image restarts the service automatically when the configuration files change.
    # Do not use this image in production, it's meant to speed up your testing and development.
    image: devopsfaith/krakend:watch
    volumes:
      - ./config/krakend:/etc/krakend
    ports:
      - "1234:1234"
      - "8080:8080"
      - "8090:8090"
    command: ["run", "-d", "-c", "/etc/krakend/krakend.json"]

Logs:
Logs you saw in the console and debugging information
Additional comments:

@MaxwellPereira logs should be telling you what's going on. If you see context deadline exceeded in the logs, it means your backend took more than the defined 10s and you should check if your backend is too loaded or if the response is so big it takes more than 10s to transfer from the backend, process and return to the client.

HI @kpacha... thanks for trying to help...
I put 10s after discovery the origin of error 500... just for testing. Before this i put very muth larger than 10s, and the timout still happen; but loking at my console application or my database, the sessions was created with sucess.
thais is the log:
api-gateway-krakend-krakend_ce-1  | [00] 2022/09/26 18:22:44 KRAKEND ERROR: [ENDPOINT: /sessions] context deadline exceeded
api-gateway-krakend-krakend_ce-1  | [00] [GIN] 2022/09/26 - 18:22:44 | 500 |   10.0031744s |      <IP_ADDRESS> | POST     "/sessions"

But when i call the api endpoint without pass through krakend, the time to recive the reponse is only between 120ms - 300ms.
I tried to put no-op to avoid any problen envolved with body response, but the timeout still happen. The strange part is as i mentined, when the api return any error, krakend return exat the same... for example, /sessions is an authentication endpoint, and if i pass the wrong user/password combination the timeout doesn't happen

After some time testing settings, my conclusion...
I was trying to use LOCAL Krakend with an API deployed at cluster behind VPN and Tunnel, so sothing become incompatible, because after deploy krakend together with all components at the same environment, krakend stoped to produce timeout.
Thanks @kpacha !


MD : NVT equilibration step

@simonbray
Hello,
In the tutorial : https://training.galaxyproject.org/training-material/topics/computational-chemistry/tutorials/setting-up-molecular-systems/tutorial.html at NVT equilibration step, I couldn't get temperature convergence to 300K.
In the video, at 36:33 min, I got similar values as yours starting with -839375 K but at 36:38 min you are doing the  Extract energy components graph and got 293.4 K. I didn't catch what you did between those 2 time points. May you clarify this step ?
Cheers,

Hi @nagoue, I don't think there is anything particular happening between those points, you should do the following:

Visualize the tabular file using the jqplot Line chart visualization
Plot column 1 against column 2
You should see a plot something like https://www.youtube.com/watch?v=LjW3nES04bI&t=2208s (36:48). The exact values are not important but it should fluctuate somewhere around 300 K.

If not, feel free to share a history with me via Gitter.

Hi @simonbray, not sure to know how to share a history on Gitter... so here it comes
But basically, I have similar result as your dataset 41 with high low negative values and can't get what you show on dataset 44 with values converging around 300K.
Galaxy-Workflow-GTN_htmd-analysis.zip
Thanks