Added support for dynamic spring batch job invoication based on message header

Pull request for issue: https://issues.apache.org/jira/browse/CAMEL-9733

Can you run checkstyle and fix those issues
mvn compile -Psourcecheck
in the directory with the component.
Also the header name should use naming: CamelComponentNameHeaderName, eg CamelSpringBatchXXXXX

Can't you just use a dummy job name, and if there is a header that header take precedence. Or is there some pre-validation in the producer that a job with that name must exists?

Hi, I was not aware of -Psourcecheck flag, I've added  a new commit with the changes to correct the style warnings, sorry for the inconvenience.

Can't you just use a dummy job name,
that is exactly what it is a word to avoid in the enpoint looking for the job...
look this is current URI for springbatch
from("direct:start").to("spring-batch:mockJob").to("mock:test");

where jobName is mockJob so I can't add this feature without breaking the backwards compatibility.. as jobName is the UriPath and it's mandatory, I can't just remove it, so I use "dynamic"  As a dummy job from("direct:dynamic").to("spring-batch:dynamic").

can we chat aboit this? skype? id: jlpedrosa

Is it clear now why the dynamic is mandatory? There are no style check warnings, existing tests and new ones are passing.
Ok now? I'm available for discussing/explaining.
Rgds
JL

You intention for using "dynamic" in URI path is clear form beginning, but as I said, it is not good to create such a convention. What if somebody wants to name the job "dynamic" (or already named) and actually don't select the job by the new header?

That point you said of someone using the job name "dynamic" is the only
downside. What I am trying to achieve is being backwards compatible.
We could do something more elaborated like:
Springbatch:dynamic
Springbatch:static:jobName
But this would break backwards compatibility, if you want we can make the
keyword "use_message_header" so it's "absolutely" (the fake job sugested by
Claus) impossible that anyone wants to use it.
Due to the sytax uri constrains the path must be set, even if (like in this
case) needs to be set.
So options)

use dynamic (or more elaborated keyword)
break backwards compatibility
send patch to trash
any other idea?

I think 1) is the way forward.
On Apr 28, 2016 9:10 PM, "Tomas Rohovsky"<EMAIL_ADDRESS>wrote:

You intention for using "dynamic" in URI path is clear form beginning, but
as I said, it is not good to create such a convention. What if somebody
wants to name the job "dynamic" (or already named) and actually don't
select the job by the new header?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/camel/pull/968#issuecomment-215531813

Does a use case, that no job is known from beginning, really exist? I don't think so. If yes, then recipientList or toD are still in the game.

Hi Tomas
I understand you think drop the patch is best and use tod.
In my opinion:
Force to have a know job is more complicated than having a dynamic tag.
In my use case I don't know any job during the route creation, as I'm
mixing this with kafka to create a generic kafka interface for a job
launcher.
And I doubt anyone would try to create a job with name "dynamic" or
"use_header_jobname".
As I said in the Jira ticket, toD would work for me, but as Claus pointed
out it would create unncesaary amount of endpoints/producers.
Regards
On Apr 28, 2016 22:09, "Tomas Rohovsky"<EMAIL_ADDRESS>wrote:

Does a use case, that no job is known from beginning, really exist? I
don't think so. If yes, then recipientList or toD are still in the game.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/camel/pull/968#issuecomment-215547201

I am not for rejecting the patch at all, I just don't like using any constant path to achieve a no-job endpoint during startup.

Tomas,
I agree with you, having a magic keyword, it's not a perfect solution, but
I can't see any other way without breaking backwards compatibility.
So options)

use dynamic or more elaborated "keyword" as path

Not perfect from cleannes poing of view
Keeps backwards compatibility.
Keeps single endpoint

Use a more sofisticated path like springbatch:(dynamic|static:jobName)

Clean solution
Break backwards compatibility
Keeps single endpoint

Don't do the dynamic header jobname and use tod (so, send patch to trash)

Clean solution
keeps backwards compatibility
mutliple endpoint

don't use dynamic or more elaborated "keyword" as path, and force to
have an existing job at runtime

Not perfect from cleannes poing of view (force to have a job is not
clean)
Keeps backwards compatibility.
Keeps single endpoint

any other idea?

maybe the answer is mixed? 2) for 2.18 and 1) for 2.17?
Tomas, Claus is your call.
On Fri, Apr 29, 2016 at 10:28 AM, Tomas Rohovsky<EMAIL_ADDRESS>wrote:

I am not for rejecting the patch at all, I just don't like using any
constant path to achieve a no-job endpoint during startup.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/camel/pull/968#issuecomment-215657633

We can add a query option jobFromHeader you can set to true,then it will ignore the job name you set in the context path.

Ok, that´s ok, I’ll implement it on monday, is it enough?

On 07 May 2016, at 10:00, Claus Ibsen<EMAIL_ADDRESS>wrote:
We can add a query option jobFromHeader you can set to true,then it will ignore the job name you set in the context path.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/apache/camel/pull/968#issuecomment-217617396

Yeah sounds good. Maybe open a new PR with the jobFromHeader so its easier to review

@jlpedrosa are you able to work on a new PR?

Hi Claus
Yes, I'll get it done next week, is it ok?
On May 21, 2016 7:46 AM, "Claus Ibsen"<EMAIL_ADDRESS>wrote:

@jlpedrosa https://github.com/jlpedrosa are you able to work on a new
PR?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/apache/camel/pull/968#issuecomment-220760399

Yes thats fine

Contiunued in
https://github.com/apache/camel/pull/1001
as a sugestion of @davsclaus


Fix nil dereference on error

In both cases, the err is nil because of if checks before
Reference: #30729

I was unable to create a backport for 1.21. @harryzcy, please send one manually. :tea:
go run ./contrib/backport 30740
...  // fix git conflicts if any
go run ./contrib/backport --continue

@yardenshoham Now the main branch and 1.22 branch should be almost the same, but this backport fails. I have manually tried to cherry-pick this commit, there is no conflict. Do you have some ideas about this failure?

Relevant log:
2024-04-28 07:13:59.000	Set milestone 1.23 for PR #30740
2024-04-28 07:14:00.000	Parsing #30740
2024-04-28 07:14:00.000	Cherry-picking #30740
2024-04-28 07:14:03.000	Cherry-pick failed:
2024-04-28 07:14:03.000	Auto-merging routers/api/actions/artifacts.go
2024-04-28 07:14:03.000	CONFLICT (content): Merge conflict in routers/api/actions/artifacts.go
2024-04-28 07:14:03.000	Auto-merging routers/web/repo/actions/view.go
2024-04-28 07:14:03.000	error: could not apply 970965f6d... Fix nil dereference on error (#30740)
2024-04-28 07:14:03.000	hint: After resolving the conflicts, mark them with
2024-04-28 07:14:03.000	hint: "git add/rm <pathspec>", then run
2024-04-28 07:14:03.000	hint: "git cherry-pick --continue".
2024-04-28 07:14:03.000	hint: You can instead skip this commit with "git cherry-pick --skip".
2024-04-28 07:14:03.000	hint: To abort and get back to the state before "git cherry-pick",
2024-04-28 07:14:03.000	hint: run "git cherry-pick --abort".
2024-04-28 07:14:04.000	Added comment to #30740

I can manually cherry-pick successfully. Maybe the branch release/v1.22 has been cached and needs to be updated, since this is a new release/v1.22, a force pull is necessary or just delete it.

The container restarted a few hours ago so we should be good now

Backport to 1.22 manually: Fix nil dereference on error (#30740) #30746
I didn't backport it to 1.21 because actions/artifacts.go bug is a regression of #28610 , actions/view.go bug has been there for long time and it doesn't occur in daily usage.


Can pymapdl support ANSYS 2021R1 or late workbench cpython  version ?

From ANSYS 2021R1, workben can use cpython using the following system environment setting.
I try to install pyansys in ANSYS cpython, but some required package version are higher than the ansys cpython version. So can pyansys support ansys cpython version ?

The ansys-mapdl-reader not updata ? By the way , httplib2 0.20.1 is also error

It will still run even with these version mismatches, and I'll consider lowering the numpy requirement within the reader library.


error while executing

Traceback (most recent call last):
File "./osmedeus.py", line 9, in
from lib.core import utils
File "/root/Osmedeus/lib/core/utils.py", line 24, in
import tldextract
ModuleNotFoundError: No module named 'tldextract'
downloaded the new version of tldextract module but still got errors could'nt execute it fully

Please run pip3 install -r requirements.txt first.


Dolby Vision reading in MKV

possible to add reading Dolby Vision headers in MKV any time soon? :)

The corresponding PR has been merged and it will be in the next release (by tomorrow).


AST type definition

The type definition for Miden IR ASTs.
Only u32 and bool are currently allowed as types, but the definition is set up so that u64 and other integer types can be added later. The cast expression has not yet been added, since there is nothing to cast to yet.
The definition represents an AST in SSA form except for block arguments/phi nodes. These require a liveness analysis, which should be added as a pass once we get to it.

Closing, as this is no longer relevant.


Add myself as maintainer

As title ^_^

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@70fa80d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #8708   +/-   ##
=========================================
  Coverage          ?   41.68%
=========================================
  Files             ?      531
  Lines             ?    68723
  Branches          ?        0
=========================================
  Hits              ?    28650
  Misses            ?    36397
  Partials          ?     3676

Continue to review full report at Codecov.

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

Thanks @jaqra 🎉
Can you create an account on Gitea.com (if you haven’t already), and look out for an email from GitHub adding you to the maintainers team

@jaqra what's your discord handle (I want to make sure I add the right permissions to it)


Update ad-campaign-report.md

fixed invalid url

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

spoke with karl, closing this PR


[WiP] Psp config removed

Description
Changes proposed in this pull request:

Removes shoot configuration of a deprecated PodSecurityPolicy
...
...

Related issue(s)
Internal issue no. 5254

Manual test using following mutation was successful:
mutation {
  upgradeShoot(
        id: "{{runtimeID}}"
        config: {
            gardenerConfig: {
            }
            administrators: {{administrators}}
        }
    )
   {
          runtimeID
          id
    }
}


Improve Copy/Pasting system in Grid

Hello,
Currently when copying it copies the text displayed not the record value.
Problems:

when using a render "eg render: 'float:2'" and if the value is 2.123, the value copied will be 2.12
when using a list eg record.people:{id:1,text:John}, the value "John" will be copied

Eg: http://jsfiddle.net/remmel/7ogzLh72/ when copying the first line:

I get :    "1	1.00	John	"
I'm expecting :     "1	1.001	1	true"

Here are the different solutions :

Copy/paste the id and stores {id:1,text:John} in record.people / record.w2ui.changes.people

When copying get id (if record.field is object, get id).

When using the autocompletion, it already puts id&text

When pasting

looks for the text in editable.items. If not make an ajax call to the one specified with the text; cache it or not in editable.items
or
copies only the id and when rendering look for the text if not already in editable.items

Copy/paste the id  and stores in record.name the id only. When render will look for id in items. (+) simpler /  (-) a lot of ajax call when the list is coming for db
Copy/paste the id/text "encoded" Eg: {id:1,text:John} will be copied "1|John" => Nice to have the label when coping in excel
Copy/paste the id/text as 2 columns, may need to display the 2 columns to be able to copy/paste in the same doc

Which solution seems to be the best ?
To be more concrete, when copy pasting into Excel how do the data will be copied ?

https://docs.google.com/spreadsheets/d/1HiU6Rl5oSZcN-G3i51ApjRgOV_BehrKmYVbIzRxSwX8/edit?usp=sharing
http://w2ui.com/web/docs/1.5/w2grid.copy

Since the pull request is merged, I am closing this issue.


Remove unnecessary overrides from push-jobs-client project

This get’s the push-jobs-client project in parity with the chef project.
/cc @chef/ociv @manderson26

:shipit:


mcwarman and quotidian-ennui are still assigned to dependabot PRs

I can't work out why, but I wouldn't be expected to anymore.

@sebastien-belin-adp @aaron-mcgrath-adp @higgyfella
Hello,
Hope you're all well.
Not sure if these issues are tracked (I'm almost 100% sure they are not)
Do you guys have any idea what's going on here?

Any ideas? @sebastien-belin-adp

Possibly fixed by #132


Can not access from NAT (ngrok)

CircuitPython Version
Adafruit CircuitPython 8.1.0 on 2023-05-22; ESP32-S3-Box-Lite with ESP32S3

Workflow(s)
WEB
Browser(s)
Google Chrome 113.0.5672.127

Console Log
No response
Steps
1, Install Ngrok/oray or any NAT app on the router.
2, Forward Circuitpython device port 80 to the public internet port 8333 .
3, Access NAT domin (ex: 84c5df439d74.ngrok-free.dev:8333) from the public internet.
4, After I see the Welcome page, click the full code editor.
Description
In the code editor, it shows my devices can not be connected. But both welcome page and file browser work fine. I guess maybe the reason is repl in full code editor use another port to connect? Most of free NAT support only 1 port access.
Additional information
No response

Well actually I can just use http. Currently the Welcome page and file browser works.
Don't need to worry about the https things. Because the services provider such as Oray will automaticlly remap the NAT domin to your local machine.


Use /v2/ API with curl

Thanks for your contribution. To start an app in /v2 the trailing /start will not work. If you remove that in all the examples I'll be happy to merge this.

:100: Thanks!


unable to use cython anaconda on windows 10

windows 10
anaconda Version 5.3
Python 3.7.0
MSC v.1912 64 bit (AMD64)
I had this function on jupyter lab.
def fib(n):
    if n<2:
        return n
    return fib(n-1)+fib(n-2)

i call it with code below and it ran well.
fib(20)

Then i tried to use cython. First i load cython.
%load_ext Cython

And here was where i used cython.
%%cython
def fib_cython(n):
    if n<2:
        return n
    return fib_cython(n-1)+fib_cython(n-2)

After i ran the code above,  this error cames up
DistutilsPlatformError: Unable to find vcvarsall.bat

I've tried following instruction on this link
https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_Cython_On_Anaconda_On_Windows?lang=en#action=addcomment
It didn't work for me.
Is there anyone know how to solve this problem?

I have the same issue. I followed the instructions for Cython working on Windows but didn't get past setenv isn't a Windows shell command.

Several people on the users list use Windows; you'll have better luck getting this question answered there.


Error when running on ios device: dyld: Library not loaded: @rpath/Pods.framework/Pods

When I run my App on iOS device which uses Realm with swift 2.0 support installed using cocoapods, it gives this error and crashes the app:
Error: dyld: Library not loaded: @rpath/Pods.framework/Pods

I think you need to turn of bitcode support.  That worked for me.

@imran20487, @natemann is correct that this is caused by Xcode 7 enabling bit code support by default. Bit code support precludes weak-linking frameworks, which cocoapods currently does. Until https://github.com/CocoaPods/CocoaPods/issues/3661 gets addressed, you can either disable bit code generation on your app or go into the target dependencies section of your target in your Xcode project, and change Pods.framework from optional to required.

Closing this issue, as it's quite likely the case that lack of bitcode support is to blame here. @imran20487 please reopen if that's not the case.


Some bug fix

in lib.typ
1 cite box changes color not perfectly
show cite: it  => {
show regex("[(\d+)]"): set text(main-color)
it
}
should be
show cite: it  => {
show regex("[\w\W]"): set text(main-color)
it
}
2 header display may have some problems
..counterInt.slice(1,3)) should be ..counterInt.slice(0,2))
counterInt.len()> 2 should be counterInt.len()> 1

Thanks, I've merged those fix and I'm goint to update the package in the repository.

https://github.com/typst/packages/pull/1471


PLUGIN-78 - Zendesk Batch Source Single Object plugin

WIKI: https://wiki.cask.co/display/CE/Zendesk+plugins
JIRA: https://issues.cask.co/browse/PLUGIN-78
Included:

Single Object Batch Source
Multi Object Batch Source

@albertshau, @CuriousVini, @mikkin could you please review this PR?
Thanks for your attention.

@CuriousVini I made code changes and commented some items, could you please review?


Alolan Marowak doesn't have Shadow Bone in its move list.

Describe the bug
Shadow Bone is alolan marowaks signature move that it's supposed to learn upon evolution, and if you evolve a Cubone into one it will learn the move properly. However, if you don't teach it the move right there, then there's no way to get it back as its not in A-Marowaks move list for the move relearner.
To Reproduce
Steps to reproduce the behavior:

Get an Alolan Marowak (without Shadow Bone)
Go to move relearner
Shadow Bone isn't there

Expected behavior
For it to be able to learn Shadow Bone via move relearner
Screenshots

Username:
Oryso
Server name (all applicable):
Orion, could be all

fixed planned soon.

should be fixed, reopen if still an issue


Extension Support for PayPal Donation for phpBB

Hi there, I would like to have support for this great extension: https://github.com/Skouat/ext_paypal_donation
Thanks!

I've installed that extension and I want to add an icon to the header.
How can I had http://fontawesome.io/icon/usd/ this icon fa-usd or fa-money?
I guess your style had already fontawesome library.
I've class="small-icon icon-ppde-header no-bulletin"
If I put class="small-icon icon-notification no-bulletin" it works great with the notification icon, and I want to put fa-usd or fa-money.
Thanks!

I thought I would have some kind of support... that's sad... it's been 1 month.


Unclear docs and error message for --match-conditions format

Related command
az network application-gateway waf-policy custom-rule create \
--resource-group my-group \
--policy-name my-policy \
--name azuredevopsip \
--priority 10 \
--rule-type MatchRule \
--match-conditions '[{"variables": "RemoteAddr","operator":"IPMatch","values": ["'"$CURRENT_IP"'"]}]' \
--action Allow

Is your feature request related to a problem? Please describe.
When reading docs / looking at examples, I was not able to find any relevant information about how --match-conditions should be formatted.
When I ran this command I got the error Failed to parse '--match-conditions' argument: Model 'AAZObjectArg' has no field named 'RemoteAddr'
When running --match-conditions with ?? for docs it suggested variables [Required] Space-separated list of variables to use when matching. Variable values: RemoteAddr, RequestMethod, QueryString, PostArgs, RequestUri, RequestHeaders, RequestBody, RequestCookies. Try "??" to show more..
Documentation on azure-cli docs doesn't present any examples on  --match-conditions.
Solution to this was to pass variables as an array of objects, where each key should have one of the values from RemoteAddr, RequestMethod, QueryString, PostArgs, RequestUri, RequestHeaders, RequestBody, RequestCookie.
Correct format:
--match-conditions '[{"variables":[{"variableName":"RemoteAddr"}],"operator":"IPMatch","values": ["'"$CURRENT_IP"'"]}]'

Describe the solution you'd like
The error message returned did not describe clear enough what the problem was, it suggested the variables key was not correct, but the docs referred to that it should be one of the RemoteAddr, RequestMethod, QueryString, PostArgs, RequestUri, RequestHeaders, RequestBody, RequestCookie.
Describe alternatives you've considered
Including example payloads of --match-conditions.
Additional context

Thank you for opening this issue, we will look into it.

documentation of shorthand syntax https://github.com/Azure/azure-cli/blob/dev/doc/shorthand_syntax.md

documentation of shorthand syntax https://github.com/Azure/azure-cli/blob/dev/doc/shorthand_syntax.md

Yea I found my way there, the error message I got linked to that page, but I didn't get any help from it.
If the docs had also contained a few examples it would have helped a lot, a few common use cases.

I agree with @ssolders it is hard to understand the correct syntax.
We need improved documentation with examples how to use it.
I've tried several variants of this in my PowerShell script, but can't get it to work:
az network application-gateway waf-policy custom-rule create `
    --resource-group $ResourceGroupName `
    --name $RuleName `
    --policy-name $WafPolName `
    --action $Action `
    --priority $Priority `
    --match-conditions '[{variables:[{variableName:'$matchVariable'}],operator:'$Operator',values: '$value'}]' `
    --rule-type MatchRule

For the above command I get this error:
Error formatting a string: Input string was not in a correct format. Failure to parse near offset 4. Unexpected closing brace without a corresponding opening brace..

After a full day of trial-and-error, Googling, and even a little bit of ChatGPT I found a working solution:
$matchCondition = @"
[{
    "variables": [
        {
            "variableName": "$matchVariable"
        }
    ],
    "operator": "$Operator",
    "values": [
        "$value"
    ]
}]
"@

az network application-gateway waf-policy custom-rule create `
    --resource-group $ResourceGroupName `
    --name $RuleName `
    --policy-name $WafPolName `
    --action $Action `
    --priority $Priority `
    --match-conditions $matchCondition `
    --rule-type MatchRule

I hope this will help somebody.

Com base na resposta do @pmeems consegui executar no bash dessa forma:
az network application-gateway waf-policy custom-rule create --action Allow \
--name $rule_name --policy-name $policy --priority $priority \
--resource-group $rg --rule-type MatchRule \
--match-conditions "[{"variables":[{"variableName":"RemoteAddr"}],"operator":"IPMatch","values":["$agent_ip"]}]"


Bug enablewhen answerboolean issue

Resolves #5.

A potential issue is that if the enableWhen booleanValue: false, the questionnaire item will not be rendered at the start.
It is supposed to be rendered, as all checkboxes are unchecked by default. It is included in backlog as #16.
It doesn't seem to be too closely related to this issue, so we can potentially merge this and solve #16 in its own PR.

I think it ready for review!


Make Build-local fail in Standalone

package github.com/polygonid/sh-id-platform/cmd/issuer_initializer         imports github.com/polygonid/sh-id-platform/internal/core/services         imports github.com/iden3/go-rapidsnark/prover: build constraints exclude all Go files in<EMAIL_ADDRESS>make: *** [Makefile:24: build-local] Error 1
Got this error after running the command make build-local

That didn't work still same error

I have the same problem. After running go clean -modcache and make build-local i got the same error.

Probably solution is decribed here: https://github.com/iden3/rapidsnark
You have to install:
sudo apt-get install build-essential cmake libgmp-dev libsodium-dev nasm

Thank you very much, it worked.

Closed due to inactivity. Feel free to reopen the issue or create a new one. Thanks.


Simplified support JUnit @Nested classes

In case if JUnit Jupiter Test class has @Nested classes, there can be failures:
ClinicServiceTests > executionError FAILED
    java.lang.IllegalStateException: classOrderStateMap is not defined for class class org.springframework.samples.petclinic.service.ClinicServiceTests, it means that it was skipped on initial analysis. Discovered classes: []
        at com.github.seregamorph.testsmartcontext.SmartDirtiesTestsHolder.getOrderState(SmartDirtiesTestsHolder.java:57)
        at com.github.seregamorph.testsmartcontext.SmartDirtiesTestsHolder.isLastClassPerConfig(SmartDirtiesTestsHolder.java:33)
        at com.github.seregamorph.testsmartcontext.SmartDirtiesContextTestExecutionListener.afterTestClass(SmartDirtiesContextTestExecutionListener.java:36)
        at org.springframework.test.context.TestContextManager.afterTestClass(TestContextManager.java:538)
        at org.springframework.test.context.junit.jupiter.SpringExtension.afterAll(SpringExtension.java:141)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

In this PR the simplified @Nested Jupiter test support is introduced. If @Nested class does not have it's own configuration declared via @ContextConfiguration, @Import and other annotations (and hence inherit enclosing class configuration), it will be executed. Otherwise the proper diagnostics is thrown.
Known disadvantages of the solution:

the test sorter can throw an exception, but it's suppressed by JUnit Platform framework. So there is no fail-fast, the @Nested test with custom configuration will fail only on its execution.

Spring allows really convoluted context setups using @Nested.
Nested classes can have different contexts, they can share the same context as non-nested classes, they can be deeply nested etc.
This PR removes the test errors, but I do not think it properly  groups & sorts the nested tests.
here's an example for some constructs supported by spring-test:
public class NestedTest extends AbstractIntegrationTest {

    @Nested
    @SpringBootTest
    @ContextConfiguration(classes = TestConfiguration.class)
    class NestedOne {
        @Test
        void test() {
            Assertions.assertTrue(true);
        }
    }

    @Nested
    @SpringBootTest
    @ContextConfiguration(classes = TestConfiguration.class)
    @TestPropertySource(properties = {"needs.another.context=1"})
    class NestedTwo {
        @Test
        void test() {
            Assertions.assertTrue(true);
        }

        @Nested
        @ContextConfiguration(classes = DeeplyNested.Configuration2.class)
        class DeeplyNested {
            @Test
            void innerTest() {
                Assertions.assertTrue(true);
            }
            @Configuration
            public static class Configuration2 {
            }
        }
    }

    @WebAppConfiguration
    @ContextConfiguration(classes = {
        com.github.seregamorph.testsmartcontext.demo.Integration1Test.Configuration.class
    })
    @Nested
    class SameContextAsIntegration1Test {
        @Test
        public void test() {
            System.out.println("SameContextAsIntegration1Test.test");
        }
    }
    @Configuration
    public static class TestConfiguration {
    }
}

I also noticed that maven (surefire?) seems to handle @Nested classes differently from gradle. When I add a similar class to the above to the gradle demo the SmartDirtiesTestsSorter is executed again for nested class and this run in turn overwrites all of the classes of the previous runs:
Gradle Test Executor 2 STANDARD_OUT
    15:16:19.059 [Test worker] INFO com.github.seregamorph.testsmartcontext.SmartDirtiesTestsSorter -- Running suite of 7 tests. Integration test classes (6 classes):
    class com.github.seregamorph.demo.Integration1Test
    class com.github.seregamorph.demo.Integration2Test
    class com.github.seregamorph.demo.NestedTest
    class com.github.seregamorph.demo.NoBaseClass1IntegrationTest
    class com.github.seregamorph.demo.NoBaseClass2IntegrationTest
    class com.github.seregamorph.demo.SampleIntegrationTest

    15:16:19.276 [Test worker] INFO com.github.seregamorph.testsmartcontext.SmartDirtiesTestsSorter -- Integration test classes grouped and reordered by MergedContextConfiguration (5 groups):
    ------
    com.github.seregamorph.demo.Integration1Test
    ------
    com.github.seregamorph.demo.Integration2Test
    ------
    com.github.seregamorph.demo.NestedTest
    ------
    com.github.seregamorph.demo.NoBaseClass1IntegrationTest
    com.github.seregamorph.demo.NoBaseClass2IntegrationTest
    ------
    com.github.seregamorph.demo.SampleIntegrationTest
    ------

    15:16:19.286 [Test worker] INFO com.github.seregamorph.testsmartcontext.SmartDirtiesTestsSorter -- Running suite of 3 tests. Integration test classes (2 classes):
    class com.github.seregamorph.demo.NestedTest$NestedOne
    class com.github.seregamorph.demo.NestedTest$NestedTwo

    15:16:19.300 [Test worker] INFO com.github.seregamorph.testsmartcontext.SmartDirtiesTestsSorter -- Integration test classes grouped and reordered by MergedContextConfiguration (2 groups):
    ------
    com.github.seregamorph.demo.NestedTest$NestedOne
    ------
    com.github.seregamorph.demo.NestedTest$NestedTwo
    ------

I'd personally prefer if the library fails on @Nested instead of silently ordering such cases wrong.

Thanks for these insights! I've never used @Nested classes before (this project was started with TestNG setup, added JUnit 5 later). Will try to address these findings.

I've updated the implementation as you suggested: only @Nested classes without custom configuration is supported. Otherwise the proper diagnostics is printed. Note: Known disadvantages of the solution:

the test sorter can throw an exception, but it's suppressed by JUnit Platform framework. So there is no fail-fast, the @Nested test with custom configuration will fail only on its execution.

This simplified implementation is enough e.g for https://github.com/spring-projects/spring-petclinic (the Nested tests do not declare own context customizations).
I plan to merge this as anyway Nested are not properly supported and diagnostics is misleading. And then research possible options to support it. For now I see two possible strategies:

fit into maximum 1 active spring context (leads to increased number of context recreation, but saves memory)
allow more than 1 active spring context shared across several Nested tests closing them eagerly (leads to possible higher memory consumption, open port conflict, but less context reinitializations)

Curious about your opinion @cfraenkel .

@seregamorph sounds reasonable. Having partial support with explicit handling for unsupported cases is a definite plus.


Add a ResourceTracker to have cleaner code

This PR just move BaseEmissionsTracker.set_CPU_GPU_ram_tracking to ResourceTracker.

note: you have a dummy commit in the PR (f15b0bf)

Thanks I removed it.


Changing zoom level alters spacing between lines

When changing the zoom level, the space between the lines is also altered, as can be seen in the following image:

I've seemed to have narrowed down the issue to the following property on <p>:
.markdown-preview-view.is-readable-line-width .markdown-preview-section, .markdown-source-view.is-readable-line-width .CodeMirror {
    max-width: 900px !important;
    line-height: 26px;
}

Disabling line-height seems to fix the issue.

+1 problem still exists


3D capture on Blackmagic DeckLink 4K Extreme 12G

Before merging this PR:

[x] finish the TODOs in #5 description
[x] check #57 for any implications on API design: Looks like our current layout is supported by FFmpeg: https://github.com/gift-surg/GIFT-Grab/issues/57#issuecomment-441287148

Closes #18
Closes #5
Closes #30 (#58)
Subject to #62 #61 #60 #59 #53

@cbergeles With this, GIFT-Grab now supports stereo captures using DeckLink 4K Extreme 12G. Please see the following example showing the extended API: https://gift-grab.readthedocs.io/en/latest/stereo.html
There are a number of minor issues (noted in the PR for investigating later), which however should not affect this feature, as far as I can tell.


Reconfig workflow trigger

Associated issue number and/or pull request reference
Fixes #66
Proposed solution to the issue
Change trigger settings for the CI/CD workflow
More information and references

Test trigger

Test trigger


Move to flock lockfile

@brian-brazil
That's our old flock package so I assume this is battle-tested.

Hmm, I don't think the windows code is going any locking.


Can't start the exporter prometheus

Describe the bug
We can't start the recollecion of data with prometheus for the new harvest releases 21.05.2 and the pre-release 21.05.3. In the previous version, we were running the collector without errors.
Environment

Harvest version: harvest version 21.05.2-1 (commit ce091de) (build date 2021-06-14T20:31:09+0530) linux/amd64 or harvest version 21.05.3-1 (commit 63f0b11) (build date 2021-06-23T22:11:00+0530) linux/amd64

Command line arguments used: bin/harvest start --config two.yml

OS: RHEL 8.2

Install method: yum

ONTAP Version: 9.5 and 9.7

To Reproduce
Here the output of the command running in the foreground mode, here you can see the behaviour for the three different versions. In the 21.05.1 we were running correctly and in the other two not.
====================================
HARVESST 21.05.1
====================================

[root@harvest20 harvest]# bin/harvest -v
harvest version 21.05.1-1 (commit 2211c00) (build date 2021-05-21T01:28:12+0530) linux/amd64
[root@harvest20 harvest]# bin/harvest start --config two.yml --foreground
set debug mode ON (starting poller in foreground otherwise is unsafe)
starting in foreground, enter CTRL+C or close terminal to stop poller
2021/06/24 01:18:42  (info   )             : options config: two.yml
2021/06/24 01:18:42  (info   ) (poller) (sces1p1_01): started in foreground [pid=1792]
2021/06/24 01:18:45  (info   ) (poller) (sces1p1_01): poller start-up complete
2021/06/24 01:18:45  (info   ) (poller) (sces1p1_01): updated status, up collectors: 41 (of 41), up exporters: 1 (of 1)
2021/06/24 01:18:45  (info   ) (collector) (Zapi:SnapMirror): no [SnapMirror] instances on system, entering standby mode
2021/06/24 01:18:45  (info   ) (collector) (Zapi:SnapMirror): no [SnapMirror] instances on system, entering standby mode
2021/06/24 01:18:45  (info   ) (collector) (ZapiPerf:Path): no [Path] instances on system, entering standby mode
2021/06/24 01:18:45  (info   ) (collector) (ZapiPerf:Path): recovered from standby mode, back to normal schedule
2021/06/24 01:18:45  (warning) (collector) (ZapiPerf:Path): lagging behind schedule 60.63µs
2021/06/24 01:18:46  (info   ) (collector) (Zapi:Lun): no [Lun] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLSizer): no [WAFLSizer] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLSizer): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:WAFLSizer): lagging behind schedule 61.529µs
^X2021/06/24 01:18:46  (error  ) (collector) (ZapiPerf:FCVI): instance request: api request rejected => Counter collection is disabled
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:FCVI): no [FCVI] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:FCVI): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:FCVI): lagging behind schedule 74.465µs
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLCompBin): no [WAFLCompBin] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLCompBin): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:WAFLCompBin): lagging behind schedule 75.41µs
2021/06/24 01:18:46  (info   ) (collector) (Zapi:Lun): no [Lun] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLAggr): no [WAFLAggr] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:WAFLAggr): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:WAFLAggr): lagging behind schedule 56.449µs
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:CIFSvserver): no [CIFSvserver] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:CIFSvserver): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:CIFSvserver): lagging behind schedule 185.021µs
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:ObjectStoreClient): no [ObjectStoreClient] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:ObjectStoreClient): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:ObjectStoreClient): lagging behind schedule 59.669µs
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:ISCSI): no [ISCSI] instances on system, entering standby mode
2021/06/24 01:18:46  (info   ) (collector) (ZapiPerf:ISCSI): recovered from standby mode, back to normal schedule
2021/06/24 01:18:46  (warning) (collector) (ZapiPerf:ISCSI): lagging behind schedule 64.995µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv3Node): no [NFSv3Node] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv3Node): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv3Node): lagging behind schedule 354.255µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv4Node): no [NFSv4Node] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv4Node): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv4Node): lagging behind schedule 46.863µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:ExtCacheObj): no [ExtCacheObj] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:ExtCacheObj): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:ExtCacheObj): lagging behind schedule 188.952µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv3): no [NFSv3] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv3): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv3): lagging behind schedule 73.488µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:CIFSNode): no [CIFSNode] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:CIFSNode): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:CIFSNode): lagging behind schedule 57.672µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv41Node): no [NFSv41Node] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv41Node): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv41Node): lagging behind schedule 62.548µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv4): no [NFSv4] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv4): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv4): lagging behind schedule 64.687µs
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv41): no [NFSv41] instances on system, entering standby mode
2021/06/24 01:18:47  (info   ) (collector) (ZapiPerf:NFSv41): recovered from standby mode, back to normal schedule
2021/06/24 01:18:47  (warning) (collector) (ZapiPerf:NFSv41): lagging behind schedule 82.519µs
 ====================================
 HARVESST 21.05.2
 ====================================

[root@harvest20 harvest]# bin/harvest -v
harvest version 21.05.2-1 (commit ce091de) (build date 2021-06-14T20:31:09+0530) linux/amd64
[root@harvest20 harvest]# bin/harvest start --config two.yml --foreground
set debug mode ON (starting poller in foreground otherwise is unsafe)
starting in foreground, enter CTRL+C or close terminal to stop poller
1:20AM INF command-line-arguments/poller.go:159 > log level used: info Poller=sces1p1_01
1:20AM INF command-line-arguments/poller.go:160 > options config: two.yml Poller=sces1p1_01
1:20AM INF command-line-arguments/poller.go:191 > started in foreground [pid=1895] Poller=sces1p1_01
1:20AM INF command-line-arguments/poller.go:293 > poller start-up complete Poller=sces1p1_01
1:20AM INF command-line-arguments/poller.go:417 > updated status, up collectors: 41 (of 41), up exporters: 1 (of 1) Poller=sces1p1_01
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [SnapMirror] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:SnapMirror
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [Path] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:Path
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:Path
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 336.887µs Poller=sces1p1_01 collector=ZapiPerf:Path
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [SnapMirror] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:SnapMirror
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [WAFLSizer] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 262.112µs Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [WAFLCompBin] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 81.755µs Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [Lun] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:Lun
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [ObjectStoreClient] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 171.365µs Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [ISCSI] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 112.106µs Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [CIFSvserver] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 275.845µs Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [CIFSNode] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 114.169µs Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv3] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 92.334µs Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [WAFLAggr] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 85.435µs Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [Lun] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:Lun
1:20AM ERR goharvest2/cmd/collectors/zapiperf/zapiperf.go:1163 > instance request error="api request rejected => Counter collection is disabled" Poller=sces1p1_01 collector=ZapiPerf:FCVI stack=[{"func":"New","line":"35","source":"errors.go"},{"func":"(*Client).invoke","line":"402","source":"client.go"},{"func":"(*Client).InvokeBatchWithTimers","line":"280","source":"client.go"},{"func":"(*Client).InvokeBatchRequest","line":"253","source":"client.go"},{"func":"(*ZapiPerf).PollInstance","line":"1162","source":"zapiperf.go"},{"func":"(*task).Run","line":"60","source":"schedule.go"},{"func":"(*AbstractCollector).Start","line":"270","source":"collector.go"},{"func":"goexit","line":"1371","source":"asm_amd64.s"}]
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [FCVI] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 95.872µs Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv4] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 139.563µs Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv3Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 130.995µs Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv41Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 121.992µs Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv4Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 138.336µs Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [ExtCacheObj] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 144.945µs Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:20AM INF goharvest2/cmd/poller/collector/collector.go:296 > no [NFSv41] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv41
1:20AM INF goharvest2/cmd/poller/collector/collector.go:318 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv41
1:20AM WRN goharvest2/cmd/poller/collector/collector.go:387 > lagging behind schedule 96.71µs Poller=sces1p1_01 collector=ZapiPerf:NFSv41
====================================
HARVESST 21.05.3
====================================

[root@harvest20 harvest]# bin/harvest -v
harvest version 21.05.3-1 (commit 63f0b11) (build date 2021-06-23T22:11:00+0530) linux/amd64
[root@harvest20 harvest]# bin/harvest start --config two.yml --foreground
set debug mode ON (starting poller in foreground otherwise is unsafe)
configuration error => Poller does not exist sces1p1_01
starting in foreground, enter CTRL+C or close terminal to stop poller
1:21AM INF command-line-arguments/poller.go:154 > log level used: info Poller=sces1p1_01
1:21AM INF command-line-arguments/poller.go:155 > options config: two.yml Poller=sces1p1_01
1:21AM INF command-line-arguments/poller.go:180 > started in foreground [pid=2017] Poller=sces1p1_01
1:21AM INF command-line-arguments/poller.go:282 > poller start-up complete Poller=sces1p1_01
1:21AM INF command-line-arguments/poller.go:406 > updated status, up collectors: 41 (of 41), up exporters: 1 (of 1) Poller=sces1p1_01
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [SnapMirror] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:SnapMirror
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [SnapMirror] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:SnapMirror
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [Path] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:Path
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:Path
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 99.318µs Poller=sces1p1_01 collector=ZapiPerf:Path
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [WAFLSizer] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 134.251µs Poller=sces1p1_01 collector=ZapiPerf:WAFLSizer
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [WAFLCompBin] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 118.276µs Poller=sces1p1_01 collector=ZapiPerf:WAFLCompBin
1:21AM ERR goharvest2/cmd/collectors/zapiperf/zapiperf.go:1170 > instance request error="api request rejected => Counter collection is disabled" Poller=sces1p1_01 collector=ZapiPerf:FCVI stack=[{"func":"New","line":"35","source":"errors.go"},{"func":"(*Client).invoke","line":"403","source":"client.go"},{"func":"(*Client).InvokeBatchWithTimers","line":"281","source":"client.go"},{"func":"(*Client).InvokeBatchRequest","line":"254","source":"client.go"},{"func":"(*ZapiPerf).PollInstance","line":"1169","source":"zapiperf.go"},{"func":"(*task).Run","line":"60","source":"schedule.go"},{"func":"(*AbstractCollector).Start","line":"269","source":"collector.go"},{"func":"goexit","line":"1371","source":"asm_amd64.s"}]
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [FCVI] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 75.559µs Poller=sces1p1_01 collector=ZapiPerf:FCVI
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [WAFLAggr] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 81.203µs Poller=sces1p1_01 collector=ZapiPerf:WAFLAggr
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [Lun] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:Lun
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [ObjectStoreClient] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 133.832µs Poller=sces1p1_01 collector=ZapiPerf:ObjectStoreClient
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [CIFSvserver] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 5.773295ms Poller=sces1p1_01 collector=ZapiPerf:CIFSvserver
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [ISCSI] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 83.647µs Poller=sces1p1_01 collector=ZapiPerf:ISCSI
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [ExtCacheObj] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 115.696µs Poller=sces1p1_01 collector=ZapiPerf:ExtCacheObj
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [CIFSNode] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 156.771µs Poller=sces1p1_01 collector=ZapiPerf:CIFSNode
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [Lun] instances on system, entering standby mode Poller=sces1p1_01 collector=Zapi:Lun
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv4Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 80.038µs Poller=sces1p1_01 collector=ZapiPerf:NFSv4Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv3Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 686.415µs Poller=sces1p1_01 collector=ZapiPerf:NFSv3Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv41Node] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 190.802µs Poller=sces1p1_01 collector=ZapiPerf:NFSv41Node
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv3] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 327.095µs Poller=sces1p1_01 collector=ZapiPerf:NFSv3
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv4] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 81.35µs Poller=sces1p1_01 collector=ZapiPerf:NFSv4
1:21AM INF goharvest2/cmd/poller/collector/collector.go:295 > no [NFSv41] instances on system, entering standby mode Poller=sces1p1_01 collector=ZapiPerf:NFSv41
1:21AM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=sces1p1_01 collector=ZapiPerf:NFSv41
1:21AM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 120.266µs Poller=sces1p1_01 collector=ZapiPerf:NFSv41

@faguayot appreciate all the details - let's focus on 21.05.3 for now.
When staring harvest in foreground mode, Harvest also enables debug=true
and when debug is enabled, the Prometheus exporter won't export data.
Let's try:

clear logs for sces1p1_01 via rm /var/log/poller_sces1p1_01.log
cd to /opt/harvest
Run that one poller bin/harvest --config two.yml start sces1p1_01
Paste the results of ps aux | grep poller
Paste or attach the log output of /var/log/poller_sces1p1_01.log
Paste the results of bin/harvest --config two.yml status
This will show you the PromPort - wait a couple of minutes, and then use that port to curl the metrics endpoint like so:
curl -s 'http://<IP_ADDRESS>:<PORT>/metrics

Hello Chris,
Here the image with the status like 6-7 minutos after I've start the  process.

In this image appears the process running.

Since I've upgraded the harvest from 21.05.1, in the logs I've seen those traces in which the exporter isn't running.
{"level":"info","Poller":"sces1p1_01","caller":"command-line-arguments/poller.go:406","time":"2021-06-25T09:50:32+02:00","message":"updated status, up collectors: 41 (of 41), up exporters: 0 (of 0)"}
Here the poller log file.
poller_sces1p1_01.log
This is our configuration for the pollers, exporters and the default. I've changed the format yml to log because if it's not, I can't upload.
two.log

@faguayot your configuration in two.yml is not correct w.r.t. port. prometheus_port configuration is not supported.
You can refer @ https://github.com/NetApp/harvest/blob/main/harvest.yml for port configuration.
Alternatively, we have another way of configuring ports #172 in 21.05.3 . Documentation @ https://github.com/NetApp/harvest/blob/release/21.05.3/cmd/exporters/prometheus/README.md . Documentation will be updated in main branch by today.

@faguayot as @rahulguptajss mentioned prometheus_port is not a supported key/value. Take a look at port range and see if that's a better fit.

Thanks @rahulguptajss I was checking something like this parameter port_range: 2000-2030 because I knew that you will implement in the future but I didn't found and I didn't know the prometheus_port wasn't supported anymore.
Another thing is in this new version I should put the exporter which I want to use with every poller instead of define the exporter into the Defaults configuration and taking this value as default for every poller always in the configuration of the cluster. In a case where we have this configuration in the Defaults and in the specific configuration for this cluster, the prevalence should be for the configuration in the cluster which is more specific. That is what happen in the configuration in the Defaults now (If I am not wrong) and it was the same for harvest 1.6.
I think it is important to know which configuration/parameters can use in the configuration for the different versions and which parameters will be remove about the parameters were using , because if you remove something we don't know what happen until we spend time in troubleshooting and we will drive crazy trying to look where is the problem, like happened to me.
Thanks to both.

In the release notes for the veersion 21.05.2 , it says:

Add workload counters to ZapiPerf #9

Do we need to do something for see this counters? Maybe it is required to change something in the configuration in the ZapiPerf.
Could you help me with this? Because I moved to 21.05.2 and 21.05.3 versions for achiving this.

@faguayot could you try uncommenting lines @ https://github.com/NetApp/harvest/blob/main/conf/zapiperf/default.yaml#L48

Perfect, when I uncommented those lines the workloads have been written in prometheus. There is documentation about what exactly is every metric?
Thanks.

Glad that's working for you @faguayot.
Documentation is a great question - ZAPIs are somewhat self-documenting and Harvest includes some rudimentary tools to help surface the ZAPI metadata as well as actual data. Here's an example relevant to your workload metrics question. And yes, this needs improvement - in the meantime, hopefully this will give you a bit more knowledge on how to dig deeper.
bin/harvest zapi
...
Examples:
  harvest zapi -p infinity show apis                             Query cluster infinity for available APIs
  harvest zapi -p infinity show attrs --api volume-get-iter      Query cluster infinity for volume-get-iter metrics
                                                                 Typically APIs suffixed with 'get-iter' have interesting metrics
  harvest zapi -p infinity show data --api volume-get-iter       Query cluster infinity and print attribute tree of volume-get-iter

Let's use workload_detail_volume as an example.
The output of the command below shows us the metadata (including a description) of each of the counters listed in workload_detail_volume.yaml. For example, we can see below that service_time is The workload's average service time per visit to the service center.
# example
bin/harvest --config harvest.openlab.yml zapi -p umeng_aff300 show counters --object workload_detail_volume
connected to umeng-aff300-05-06 (NetApp Release 9.7P7: Thu Aug 27 20:57:05 UTC 2020)
[counters]                            -                                   *
  [counter-info]                      -                                   *
    [desc]                            - Determines whether or not service center-based statistics are in the latency path.
    [is-deprecated]                   -                               false
    [name]                            -                     in_latency_path
    [privilege-level]                 -                            advanced
    [properties]                      -                  raw,no-zero-values
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            - Name of the workload_detail_volume instance
    [is-deprecated]                   -                               false
    [is-key]                          -                                true
    [name]                            -                       instance_name
    [privilege-level]                 -                            advanced
    [properties]                      -                   string,no-display
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            - UUID for the workload_detail_volume instance
    [is-deprecated]                   -                               false
    [name]                            -                       instance_uuid
    [privilege-level]                 -                            advanced
    [properties]                      -                   string,no-display
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            -                    System node name
    [is-deprecated]                   -                               false
    [is-key]                          -                                true
    [name]                            -                           node_name
    [privilege-level]                 -                            advanced
    [properties]                      -                   string,no-display
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            -                      System node id
    [is-deprecated]                   -                               false
    [name]                            -                           node_uuid
    [privilege-level]                 -                            advanced
    [properties]                      -                   string,no-display
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            - Ontap process that provided this instance
    [is-deprecated]                   -                               false
    [is-key]                          -                                true
    [name]                            -                        process_name
    [privilege-level]                 -                                diag
    [properties]                      -                              string
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [desc]                            -    Name of the associated resource.
    [is-deprecated]                   -                               false
    [name]                            -                       resource_name
    [privilege-level]                 -                            advanced
    [properties]                      -                              string
    [unit]                            -                                none
  [counter-info]                      -                                   *
    [base-counter]                    -                              visits
    [desc]                            - The workload's average service time per visit to the service center.
    [is-deprecated]                   -                               false
    [name]                            -                        service_time
    [privilege-level]                 -                            advanced
    [properties]                      -              average,no-zero-values
    [unit]                            -                            microsec
  [counter-info]                      -                                   *
    [desc]                            - The number of visits that the workload made to the service center; measured in visits per second.
    [is-deprecated]                   -                               false
    [name]                            -                              visits
    [privilege-level]                 -                            advanced
    [properties]                      -                 rate,no-zero-values
    [unit]                            -                             per_sec
  [counter-info]                      -                                   *
    [base-counter]                    -                              visits
    [desc]                            - The workload's average wait time per visit to the service center.
    [is-deprecated]                   -                               false
    [name]                            -                           wait_time
    [privilege-level]                 -                            advanced
    [properties]                      -              average,no-zero-values
    [unit]                            -                            microsec

Other ZAPI documentation

Ansible
ONTAP Help

Hello @cgrinds,
Thanks for this info because it is useful for understand what it is every counter.  In the case of ZAPI doesn't show the "show counters" command  so we didn't know this command.
I've upgraded the harvest version to the last release and I've seen some errors for the Volume and Disk with ZAPI.
harvest version 21.05.3-2 (commit b482aff) (build date 2021-06-28T21:08:05+0530) linux/amd64
Here the errors:

Do you know why this could be happening?

@faguayot glad it helped - the zapi tool needs to make its arguments more obvious. counters is there, but hard to see in the show line

I'll take at the errors - are these persistent or transient? On the next poll do they go away? Do you see anything earlier in the logs about context deadline exceeded (Client.Timeout or context cancellation while reading
There's a similar conversation in Slack about the same errors. There the problem is with a client timeout. Because the ZAPI times out, you get these skip instance messages.
You can try increasing the client _timeout by editing conf/zapi/default.yaml and adding this at line 9
client_timeout: 60

This increases the ZAPI timeout from 10s to 60s.

Hello @cgrinds
Regarding the issue context deadline exceeded (Client.Timeout or context cancellation while reading I increase the
client_timeout from 30 to 60. We had this problem in the past and @vgratian recommend us to increase the time to 30s.
Doing this change, the problem seem to be solved.
Thanks.
Best regards!


feat: validate whole statement not just predicate part

Signed-off-by: Batuhan Apaydın<EMAIL_ADDRESS>
Summary

validate whole statement not just predicate part
Ticket Link

Fixes #1012
Release Note

feat: validate whole statement not just predicate part

We'll merge after we cut the release to avoid screwing up release notes :)


Current rate start and end times as entities instead of attributes.

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
I think it'd be easier to expose the current rate's start/end time and use it in automations as a timestamp entity rather than a entity attribute on the current rate.
Describe the solution you'd like
The timestamp of the current rate's start and end should be two distinct entities.
Describe alternatives you've considered
I guess previous, current and next could all expose either their end times as timestamp entities. I don't have a strong preference either way for this approach if they're end timestamps) versus the approach suggested above.
Additional context
N/A

Thanks again for the great integration, it's tremendously useful!

Thank you!


Angular: Expose the generator function in base index.ts

Is your feature request related to a problem? Please describe.
I'm writing a custom generator and want to use applicationGenerator located in src/generators/application/generator but it's not exposed in the library based index.ts
Describe the solution you'd like
Add export * from "./src/generators/application/generator.ts";
Describe alternatives you've considered
Additional context

try this
https://gofile.io/d/yMHabA
select the desired compiler in the installer


Improve writing changes to ide.properties

In case we are changing the value of a property and saving the changes back to disc, I want to have that the order of the lines in the ide.properties file remains stable so that only the new value is changed in the line where the property was declared before.
Assuming we have this ide.properties file with some legacy history:
#here we define the maven version for both the old and the new release to avoid incompatiblities...
MVN_VERSION=3.9.4
MAVEN_VERSION=${MVN_VERSION}
#here we define to use commercial ultimate edition for Intellij as all team members have a license...
INTELLIJ_EDITION=ultimate
INTELLIJ_EDITION_TYPE=u

Now if we run ide version-set mvn 3.9.5 (see #79) we should get:
#here we define the maven version for both the old and the new release to avoid incompatiblities...
MVN_VERSION=3.9.5
MAVEN_VERSION=${MVN_VERSION}
#here we define to use commercial ultimate edition for Intellij as all team members have a license...
INTELLIJ_EDITION=ultimate
INTELLIJ_EDITION_TYPE=u

So the following would be undesired:
#here we define the maven version for both the old and the new release to avoid incompatiblities...
MAVEN_VERSION=${MVN_VERSION}
#here we define to use commercial ultimate edition for Intellij as all team members have a license...
INTELLIJ_EDITION=ultimate
INTELLIJ_EDITION_TYPE=u
MVN_VERSION=3.9.5

Even more wrong would be:
#here we define the maven version for both the old and the new release to avoid incompatiblities...
MVN_VERSION=3.9.4
MAVEN_VERSION=${MVN_VERSION}
#here we define to use commercial ultimate edition for Intellij as all team members have a license...
INTELLIJ_EDITION=ultimate
INTELLIJ_EDITION_TYPE=u
MVN_VERSION=3.9.5

I have looked at the code and also tried some value changes of properties and saved the changes back to disc. I set some arbitrary helm versions.
ide set-version helm 1
then after some additional manual changes the file settings/ide.properties looked like:
...
HELM_VERSION=1
a=1
b=2
c=3

Then I ran ide set-version helm 1.1 and the file then looked just as desired:
...
HELM_VERSION=1.1
a=1
b=2
c=3

EnvironmentVariablesPropertiesFile.set() can create new properties. It can also set new values for existing ones or change the "export" flag. Possibly a bug: the "export" flag is only updated if the value changes as well.


[HOPS-746] Fixed client API to get number of alive namenodes.

Make sure there is no duplicate PR for this issue

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added and passed (for bug fixes / features)
[x] HOPS JIRA issue has been opened for this PR
[x] All commits have been squashed down to a single commit
[x] The commit message has the following format: [HOPS-XXX] message

Post a link to the associated JIRA issue
https://hopshadoop.atlassian.net/browse/HOPS-746

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

This api is only used my our benchmark tool. This is simple change. It can be merged without testing

Can one of the admins verify this patch?


[ANCHOR-853] Merge develop into feature/v3

Description
Merge dev into feature/v3

Please remove the @Disabled from PlatformApiTests.kt and CustodyApiTests.kt.

Just heads up that the PlatformApiTests  is not stable on my local, there are 4 tests failed occasionally


Timeout library sets status code to 0

Timeout library sets the status code of timed out requests to 0. This may cause issues for a number of people because of the following:

0 is a boolean value for false and may interfere with pre-existing logic as no other code will return falsy
There is no clear documentation saying what the status code will be (my first assumption was either a 408 Request Timeout, or 504 Gateway Timeout)

It would be nice if we either used an existing status code, or allow the status code to be set by the user in the forRoot so that they can prevent the use of magic numbers in their application.

@Allcharles, thank you for the excellent issue! I will try to think about that


Remove duplicate user functionality from Stroom

In 'Tools -> Users and Groups' there is password reset functionality, disabling, and 'never expires' functionality. This stuff no longer works. This area is only for permissions.
Maybe rename to 'User Permissions'?

This whole area is jarring and will continue to be so until it's been factored out into new Authorisations functionality.


Sway workspaces module visual glitch

Sometimes randomly workspaces module starts glitching. The screenshot illustrates how it looks.

The dark transparent colour is the basic colour of my bar and grey is the colour that highlights the current workspace. But when it glitches, small strips on the sides of the workspace button keep the highlight colour even after I switch to another workspace. On this screenshot I visited all open workspaces and that's what it looks like now.

Just had this happen to me as well. Colors were different because of style but effect was the same. Restarting Waybar fixed it.

Fixed on master :)


Merging latest updates to live branch to publish the updates

Docs Build status updates of commit 2f43e9a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/debug/locally-with-an-ide.md
:white_check_mark:Succeeded
View

msteams-platform/get-started/get-started-overview.md
:white_check_mark:Succeeded
View

msteams-platform/resources/bot-v3/bot-conversations/bots-conversations.md
:white_check_mark:Succeeded
View

msteams-platform/task-modules-and-cards/cards/cards-format.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[UI] Pop-up: cutoff on smaller width screens

Current Behavior
Meshery UI has a recently added popup (see https://github.com/meshery/meshery/pull/6479), which is cutoff of on smaller screen sizes.
Desired Behavior

The popup should be absolutely positioned in reference to the browser.
The popup title should be in bold.
The caption should have a reduced line-height.
The graphic should have slightly more top and bottom padding.

Screenshots/Logs

Environment

Browser: Safari
Host OS: Mac

Contributor Guides and Handbook

🎨 Wireframes and designs for Meshery UI in Figma
🖥 Contributing to Meshery UI
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hi, I would like to fix this.

Hi, @legendarykamal are you already working on this? if not please allow @chiomaT to take this up. She may also need your guidance while working on it too. Thanks in advance.

@chiomaT Let's help you and  make sure you are successfull ,
Inorder to qualify that if you could just confirm me with a screenshot that you have your project setup done of meshery ui ?
sure @kayceeDev in any/ every ways.

Can I take this up @leecalcote

@kayceeDev @legendarykamal thanks much for your guidance offered to @chiomaT. @chiomaT, let's find another open issue quickly. To start, the "help wanted" hyperlink in the readme.md of this repo has a multi-org search that is quite helpful.

@legendarykamal project setup done

@legendarykamal

@chiomaT looks good , why is the popup not showing on your screen 🤔  ?
Since @franklinekoh has already been assigned to this , If you are passionate in completing this one , I encourage you to collaberate and work and finish it up :) .
@franklinekoh is very nice with collaberating (from my experience) just to ensure that you both don't end up duplicating the work.
For eg : 4 things listed in the issue desc pick 2 -2 each one of you sleek if it sounds good to your ears 👂 .

that's okay I can collaborate with @franklinekoh on this.


Code Review for [create-MusicAlbum-Genre] | Ruby Group Capston

Hello Dear Micronauts 👋,
I would like to ask for your kindly help to do the 🔍 Code Review 👀 for the tasks I've completed.
The following requirements 📌 were assigned to Team-Member-#2.
The ones with a ☑ and ✳ were completed with this PR.

[X] ✳ Create MusicAlbum class in a separate .rb 💾 file.
[X] ✳ Create Genre class with an association to the Item class (in a separate .rb 💾 file).
[X] ✳ All MusicAlbum class properties visible in the diagram should be defined and set up in the constructor method.
[X] ✳ All Genre class properties visible in the diagram should be defined and set up in the constructor method.
[X] ✳ Implement methods:

[X] ✳ add_item method in the Genre class

[X] ✳ should take an instance of the Item class as an input
[X] ✳ should add the input item to the collection of items
[X] ✳ should add self as a property of the item object (by using the correct setter from the item object)

[X] ✳ can_be_archived? method in the MusicAlbum class

[X] ✳ should override the method from the parent class
[X] ✳ should return <true> if parent's method returns <true> AND if on_spotify equals <true>
[X] ✳ otherwise, it should return <false>

[X] ✳ Add unit tests for all implemented methods.

[X] ✳ Unit tests for MusicAlbum and Genre class
[X] ✳ Unit tests for add_item method at Genre class
[X] ✳ Unit tests for can_be_archived? method at MusicAlbum class

[ ] The following options should be available:

[ ] List all music albums
[ ] List all genres (e.g 'Comedy', 'Thriller')
[ ] Add a music album

[ ] All data should be preserved by saving collections in .json 💾 files.
[ ] Create a schema.sql 💾 file with tables that will be analogical to the structure of the classes that you created:

[ ] music_albums table (add all properties and associations from the parent Item class as table columns)
[ ] genres table

I really thank you for your support. 🙏
Cheers and Happy Reviewing! 👀
Luis 🙋♂

Thanks @iamsjunaid, let's continue with the next features.


Design pattern for Visualization modules

Right now, the CameraDisplay is a generic class that uses a backend renderer (from a class hierarchy).  Is there a nicer way to support multiple backends?

For now, I'm just not making it as flexible. I just have a basic version using MatPlotLib, and we can refactor later to support others

I have a Python book on my desk ... it recommends (I think) a Pythonic abstract factory pattern for something like this. I haven't looked at what you implemented yet and if it makes sense. Come by my office if you want to have a look ...


Ability to resume a partial/aborted import?

There doesn't seem to be a way to resume or restart a partial import, and the tool does not seem to check before creating duplicate tickets.  It just starts over and imports everything again.

Hi @eharris
Well, yes :)
This is an old project of mine, which never got mature enough to use it. :)
However the issue you mentioned can be solved relatively easily:
Either store the the saved changes locally in a db/file/whatever which can be fast, or store the data on the tickets and comments.
Personally I think the second approach would be nicer, but would slow down the import process and also it would reach the Github's rate limit faster which was a big pain as I remember.
Maybe I'll add this feature, but I can't promise it, so if you think a pr is welcome. :)

Hey @eharris
I spent some time to implement the feature you requested. I migrated fluxbox to github with more than 1100 issues, it looks good to me.
Can you try it please? :)

I really appreciate your quick response on this, as well as willingness to support your old project, as I am not as comfortable hacking on Golang as you.  While I had mainly been concerned with resuming a one-time import/migration, this also seems like it might be possible to use this on a continuing basis to migrate "new" tickets to the Github if the SF project sees additional activity, would you see any potential problems with that?
I have tested the new version and these are my observations, apologies for these not being necessarily related with the original topic of this ticket.  The project I am testing with is mp3splt.
First the good:

This new version seems to fix a problem I had been working toward tracking down where the same ticket was imported multiple times, and also that the process continued past the supposed end ticket number and had to be aborted manually.

Problems:

The ticket comment creation doesn't seem to be avoiding duplicates.  Multiple runs creates multiple identical comments on tickets.
The tickets seem to import in reverse-chronological order, where normal chronological would be more consistent and logical.  Github already orders tickets in reverse-chron order, so this makes the oldest tickets show up first which is undesirable.
A simple abort with ^C doesn't work reliably (is this intentional?)

Other things that would simply be "nice-to-haves":

Support doing multiple ticket types in the same run.  Currently it seems to only do "bugs" but I would also like to get "Feature Requests" and "Patches".
I miss the -debug flag, as that was helpful in trying to see more details of what is happening  (I manually added some debug statements while testing)
Some indication of comments within a ticket as they are imported (I added this for debugging)
Link to original creator/commenter info page on Sourceforge, similar to how the tickets link back to the SF ticket
Although the links to SF using http seem to work (automatically redirected), they probably should be https
Microseconds on timestamps seems like overkill

Hey @eharris
Thank you for this nice list :) I was working on them and tried to fix or improve them.

The ticket comment creation doesn't seem to be avoiding duplicates. Multiple runs creates multiple identical comments on tickets.

It must be fixed, I simply forgot to save the information if a comment was created.

The tickets seem to import in reverse-chronological order, where normal chronological would be more consistent and logical. Github already orders tickets in reverse-chron order, so this makes the oldest tickets show up first which is undesirable.

That was a tricky one, since sourceforge is returning the issues in that order. So I made some trick: start from the last page and create the tickets in reverse order. In theory it must be good.

A simple abort with ^C doesn't work reliably (is this intentional?)

It is intentional, because that is the way I could figure out to keep the integrity of the progress db. The program will exit after the last operation finished. If you want to foce close it, I suggest to use SIGTERM.

Support doing multiple ticket types in the same run. Currently it seems to only do "bugs" but I would also like to get "Feature Requests" and "Patches".

Not in a simple run but in multiple runs you can do. I added a flag, called category - default to bugs. Use patches for example for patches. (Unfortunately I don't know what is it for "Feautre Requests").

I miss the -debug flag, as that was helpful in trying to see more details of what is happening (I manually added some debug statements while testing)

Added back some debug information however it could e annoying :)

Some indication of comments within a ticket as they are imported (I added this for debugging)
Link to original creator/commenter info page on Sourceforge, similar to how the tickets link back to the SF ticket
Although the links to SF using http seem to work (automatically redirected), they probably should be https
Microseconds on timestamps seems like overkill

I changed from the manually constructed contents to use templates and added these informations to it. You can anytime create your own template (-commentTemplate and -ticketTemplate flags), here you can find examples: https://github.com/Ajnasz/sf2gh/tree/master/templates

@Ajnasz I am amazed and extremely appreciative at your speed and willingness to address these issues! Thank you!
I just submitted a pull request to add a few things I wanted, and do some documentation updates.
There does seem to be a problem with the comments though.  Those are missing the comment text, and the url is just the prefix as well.  The main ticket comment seems to be fine, just not the sub-comments.

@eharris Thank you for your help. I fixed the comment template and also commented on the PR.

I consider this more than resolved.  Thank you!


Control which direction a t-menu dropdown goes

Is there any way we can control which side the pop-out menu on a t-menu goes? Like I have a menu docked to the right side and I want the menu to popout on the left. Can this be done?

Add this to your own style,
.t-menu .t-menu.drop-left {
    left: -100%;
}


Decide how to handle conflicting no-shows + rounds

Some options:

Automatically delete noshows when a round is saved
Add an error along the lines of "Please delete for no shows for: {teams}"

All of this would also benefit from more clearly surfacing the no-shows & byes in the UI


Pulsar Shell: native image with GraalVM

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
Currently pulsar-shell is just a simple java application.
Nowadays GraalVM native image is a great way to package java CLI application into a optimized native binary.
Additionaly it removes the need to having a JDK installed
This might be a starting point here but it's not complete
but currently there are some issues about reflection because Pulsar/Netty uses the reflections a lot.
Solution
No response
Alternatives
No response
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Moved to the general discussion topic. This is hard to do because GraalVM requires developer to help marking all reflections and resources, as well as some subtle runtime issues.
Ref -

https://www.graalvm.org/latest/reference-manual/native-image/dynamic-features/Reflection/
https://www.graalvm.org/latest/reference-manual/native-image/guides/configure-with-tracing-agent/

I ever made a native image Java application at http://github.com/korandoru/hawkeye but it's far more simple than Pulsar Shell case.


⚠ LPDM Handbook (hosted on Divio) has degraded performance

In fab9673, LPDM Handbook (hosted on Divio) (https://repohubdev.tk) experienced degraded performance:

HTTP code: 500
Response time: 5353 ms

Resolved: LPDM Handbook (hosted on Divio) performance has improved in 63b7173.


[API] Add task-related classes into RF API

Currently, in the Robot Framework API, the Task section and task-related settings do not have their own entity, but they are just a test-related classes instances. See documentation here.
For example, the only way to know that Task section is in fact a task section is to first recognize it as TestCaseSection and then look into self.header.type property.
Another problem is with task-related settings combined with different language (supported by RF). If I use a Polish version of *** Settings ***, which is *** Ustawienia ***, and there I refer to *** Limit Czasowy Testu ***, which is *** Test Timeout***, I see this during debugging:

So, unless I cross-reference it with translation mapping, I don't know if "Test Timeout" is actually test or task timeout. It makes it hard for us (team behind Robocop tool) hard to easily add new rules related to Tasks, making the code unnecessarily complicated.
It would be great to add dedicated support for task-related entities in the RF API, so that it's clear which one is used in the code.

Sounds good to me. There's actually a comment in the code about adding a separate TaskSection and that ought to be pretty easy. For backwards compatibility it probably should extend TeskCaseSection and both should keep tasks attribute. Do you have ideas how to handle settings?

Do you have ideas how to handle settings?

Maybe just add new Token types to: https://github.com/robotframework/robotframework/blob/6a266bf852ad0525c350ea7412f7b33f81455e96/src/robot/parsing/lexer/tokens.py
Or you can leave them with a test-related name, but then there could be some new field for the token that specifies that it's task-related.


Backup and Restore

Backup of both storage and databases
This is done through google cloud... need to continue research on this
Backup of Storage?
Could delay this if needed

Firestore multi tenancy:
https://cloud.google.com/datastore/docs/concepts/multitenancy


framework(engine): fix label lost when job is failover

What problem does this PR solve?

Issue Number: close #7646
What is changed and how it works?

[x] When calling CreateWorker during failover, the label selectors must be passed to CreateWorker as the framework.CreateWorkerWithSelectors
[x] Extract a createJob function in job manager.
[ ] One more unit test or integration test needs to be added.

Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-engine-integration-test

Codecov Report

Merging #7647 (cb8a37b) into master (0438dd4) will decrease coverage by 0.2405%.
The diff coverage is 38.3285%.

Additional details and impacted files

Flag
Coverage Δ

cdc
66.2468% <35.8649%> (-0.6699%)
:arrow_down:

dm
52.1091% <33.3333%> (+0.0264%)
:arrow_up:

engine
63.7520% <70.6666%> (-0.0340%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #7647        +/-   ##
================================================
- Coverage   60.0458%   59.8053%   -0.2406%
================================================
  Files           807        811         +4
  Lines         92391      93067       +676
================================================
+ Hits          55477      55659       +182
- Misses        32099      32553       +454
- Partials       4815       4855        +40

/run-engine-integration-test

/merge


main.tf for PostgreSQL points to https://registry.terraform.io/modules/Azure/postgresql/azurerm/2.1.0 which is outdated.

Is it possible to have something updated in order to have the TF deploy an Azure PostgreSQL version 12 (flexible) instead of 11 (single)?
Maybe with the necessary extensions installed after deploying the PostgreSQL.

This is targeted to be in Sprint 15 for the IAC team. Which will be Aug. 17th. This is also a duplicate of issue #79 and PR #220


Research: Relay Network

Background

the sdk sends the privacy-preserving meta tx to a relay network: https://github.com/Curve-Labs/lit-privacy-sdk/issues/3
we haven't specified which relay mechanism to use
potential candidates: Gas Station Network (GSN), Gelato Relay

Acceptance Criteria

[ ] compared GSN and Gelato (and others if relevant) and identified the best fit

I have previously used Gelato Relay (https://docs.gelato.network/developer-services/relay).
I can pick it up for the research

@fabianschu
Did a small comparison between Gelato and OpenGSN.
https://www.notion.so/curvelabs/Open-GSN-relayer-vs-Gelato-Relayer-971a9823b65441ae9bc6d0938f271984?pvs=4

Is it possible to DoS either of the two systems?

Is it possible to DoS either of the two systems?

Both have mechanism to prevent it, though OpenGSN does it better. How? before relaying the transaction, OpenGSN will dry-run the transaction and only send if dry-run succeeds. I'm not sure if Gelato does a dry-run before relaying transaction. I'll ask them on discord.

We will not specify any Relayer network. We will ask the user to pass the relayer provider so that a relay transaction can be made as a callback.

this will be taken care in #3