feat(helm): support affinity for longhornManager

Similar to nodeSelector also support affinity.

[x] Default value is empty object
[x] Added commented example in values.yaml
[x] Helm lint passes

Signed-off-by: Sjouke de Vries<EMAIL_ADDRESS>

@sjoukedv Thanks for the contribution. I think we can do the same for other deployments like driver, recovery backend, admission webhook, and UI.

Thanks for the contribution. I think we can do the same for other deployments like driver, recovery backend, admission webhook, and UI.

recovery backend, admission webhooks have been integrated into longhorn-manager in 1.5.0, so this is unnecessary now.


fix: rewrite install.sh in POSIX shell for portability

Contrary to popular belief, bash is not universal on Linux systems.

Check $XDG_DATA_DIR
Replace multiline string literals with heredocs
Replace Bash's [[ with the universal [
Use case instead of if-else chains where appropriate
Quote some more variables
Clean up sed scripts
Indicate default choice in yes/no prompts
Replace Bash functions with regular shell functions
Don't sleep for fractional seconds (not all sleeps support fractional seconds)

Hi, really appreciate the PR making sure it's POSIX compliant. Most of the people working on the project write and test the script(s) on bash, so this is nice.
However, unfortunately, in my testing this seems kind of borked. I personally don't have the time to make some of the necessary fixes. If you are willing to make the changes, that'll be great, otherwise we might have to wait for someone to pick this up if that's ok.

Thanks for taking a look! Could you paste the output? I can't test it easily.

Hi, sorry for the late reply but:
This is what I see when I try to run through the options, there might be more after this but this is where it taps out
install.sh: line 452: syntax error near unexpected token then'
install.sh: line 452: if [ "$CONFIRMATION" = "Y" ]] || [ "$CONFIRMATION" = "y" ]; then'

Whoops, seems like I forgot to delete a bracket. Try it now.

Hi, there are a few more errors after still. Looks like more missing brackets. I think there might be even more after, uh.. might be best to do a quick run through of the script till it executes.
install.sh: line 381: unexpected EOF while looking for matching `]'
install.sh: line 487: syntax error: unexpected end of file

Okay, shellcheck is passing on it now so should be all done.

Yup, it seems to fully work now!! Great work, thank you so much! I'll ask people to test this on the discord as well, and if nothing comes up, we'll get this merged.


⚠ Processors has degraded performance

In 387eb76, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 43 ms

Resolved: Processors performance has improved in f6587fb.


Add default English text to tags

Add <translate translate-default="Default text">Translation-ID</div> to all translation strings.
Main advantage: meaning is directly visible in the template.
Tools like (https://github.com/DatenMetzgerX/webpack-angular-translate) can be used to extract the strings and export to translatable JSON.

I'm not so sure about this anymore. The tool seems outdated and does not support all translate features (e.g. no default text from filters?).

Didn't do it in the end. Problems with multiple usages of translation keys and no support for filters.


Import local ES6 module

The ability to import our own local ES6 modules would be very useful. :)

...Or can the console already do this? Initially thought it wouldn't but now that I think more, maybe I was wrong. ;)

Nice idea.
Actually, when $i is called, this extension create a script tag and set its src property to URL of JS or CSS. So it seems not work to import local modules in this way. Maybe I could do some research for it.
If you have good way to do this, pull request is very welcome :)

I think that for HTTPS sites script injection (from a Chrome extension) requires a local HTTPS server running... so maybe this isn't possible.


Ruby question

I'm really new at all this but I'm thinking your gem is going to be useful in a project I have in mind for filtering email.
I have a couple of questions though (these refer to the ruby interface):

In the example under "Facts" in your documentation, what is the difference between m and +m?

when_all (m.predicate == "eats") & (m.object == "worms") do
    assert :subject => m.subject, :predicate => "is", :object => "bird"
end
...
when_all +m.subject do
    puts "fact: #{m.subject} #{m.predicate} #{m.object}"
end

Same question for s and +s the example under "Unhandled Exceptions".

Does the plus sign indicate the end of the chain?

Can I use a ruby Regexp object to do pattern matching?  From your example under "String operations":

when_all m.subject =~ /^.*hello$/ do
    puts "string ends with hello: #{m.subject}"
end

Should I do it this way?
when_all m.subject.to_s =~ /^.*hello$/ do
    puts "string ends with hello: #{m.subject}"
end

Or this way?
when_all m.subject.to_s.match(/^.*hello$/) do
    puts "string ends with hello: #{m.subject}"
end

I guess my question boils down to Can I use ruby variables in rules?  If so, how?

What's the best way to debug rules?  byebug works but it doesn't seem to be much help ;-) ...

I got a couple of Engine::MessageNotHandledError exceptions on some of the examples in the ruby tutorial that were not mentioned in the text of the document.  Is this by design?  For example (the comment is mine):

require "durable"

Durable.ruleset :strings do
  when_all m.subject.matches("hello.*") do
    puts "string starts with hello: #{m.subject}"
  end

  when_all m.subject.matches(".*hello") do
    puts "string ends with hello: #{m.subject}"
  end

  when_all m.subject.imatches(".*Hello.*") do
    puts "string contains hello (case insensitive): #{m.subject}"
  end
end

Durable.assert :strings, { :subject => "HELLO world" }
Durable.assert :strings, { :subject => "world hello" }
Durable.assert :strings, { :subject => "hello hi" }
Durable.assert :strings, { :subject => "has Hello string" }

# throws Engine::MessageNotHandledError
#
Durable.assert :strings, { :subject => "does not match" }

Thanks in advance...
-- sw

Hi, thanks for asking the questions.

is a unary operator that tests for the existence of a property in an object. You cannot use ruby regex nor ruby functions in the expression definition. An expression is ultimately translated to JSON and executed by the rules engine (written in C). The rules engine coerces object properties to string (when using the matches function), you don't need to do .to_s. In addition it has its own regex dialect/compiler.


Implement Barreto-Naehrig curves

Baretto-Naehrig curves are a class of pairing-friendly prime-order elliptic curves. It would be great to have an implementation of these that is generic like our implementation of BLS curves. A good starting point is the implementation by @o1-labs in a fork of Zexe: https://github.com/o1-labs/zexe/tree/master/algebra/src/curves/models/bn

It would help to have some papers listed here especially wrt to concrete parameters. I have not been able to hunt to parameters for BN254, for instance.

It would help to have some papers listed here especially wrt to concrete parameters. I have not been able to hunt to parameters for BN254, for instance.

I think you can find the spec in Appendix E of Ethereum Yellowpaper

Concrete parameters can also be found here (for the Ethereum curve): https://github.com/matter-labs/pairing/tree/master/src/bn256

I implemented a bn256 curve, basically implemented, and is testing in practice. zexe-bn256

These are implemented now by #225


Revert "fix(logger): avoid hitting etcd for each log line"

DO NOT MERGE as-is, just proposing in case we don't find a fix for #3772.
reverts #3660
closes #3772
re-opens #3657

@bacongobbler let me look into this over the weekend instead of reverting.

@kalbasit Did you have a look at fixing this over the weekend? I'd love to account for this rather than reverting the change, but we need to test and release in the next day or two.
@bacongobbler we should see if we can fix this rather than revert if at all possible.

@carmstrong unfortunately I didn't, will I have time until tomorrow noon? Sorry for the inconvenience, this  ended up a family weekend.


Deckfaqs completely broken in Steam Client Beta (Feb 18)

Hello there,
Figured I would be proactive and report this before this beta hits the stable channel.
This is most likely related to the investigated issues described by Decky Loader's latest release ("Unfortunately, there is a more extensive issue with plugins that navigate to external web pages which we cannot fix via a Decky Loader update.").
As per them, it's still under investigation and thus might not be easily solveable just yet.
The following screenshots show what happens with DeckFaq on the latest steam client beta.

I wish I could make the error display more, but there's no real means for me to make the window go right during its display.

Thanks for the heads up. Not surprised a beta broke everything :). Guess I got a busy weekend

Hey there.
I honestly feel for you. Although I just saw they put in a PR a bit ago https://github.com/SteamDeckHomebrew/decky-frontend-lib/pull/75 at the frontend-lib repo.
Maybe that's related to it? I haven't done any real checking yet to see if you make use of NavigateToExternalWeb specifically (although it'd make sense since gamefaq is an external site compared to Valve's steam deck).

It might partially be related although that PR fixes an issue with HLTB For Deck which I have verified. DeckFAQs is in a whole other broken state. It seems Valve has just removed and/or moved functionality around so I just have to find out where it's been moved to.

I'm sure you guys can crack the code, watching you all work in the Steam Deck Homebrew discord.
Once a testing variant is out, I'll see what I can do in helping with testing it @ the plugin store to get it greenlit ASAP.
Thank you again for tackling this so vigorously. 👍

I have a PR up on decky plugin store to fix this. look out for v1.6.0 soon™

Alright, I'll test it now. :)

Tested in https://github.com/SteamDeckHomebrew/decky-plugin-database/pull/242#pullrequestreview-1304855226 and it once more works just fine!
Found a minor issue, but I'll make a separate issue here for it. I'll let you close this when you want. :)


hash not working with relative paths outside of folder.

Hi.
There appears to be an issue with using the "hash" and "hashWithPaths" approach on thier own with relative paths outside of the current folder.
"hashWithExtensions" and "hashWithExtensionsAndPaths" both work fien but:
"hash" and "hashWithPaths" both fail with Browserify error:
ERROR [framework.browserify]: Error: Cannot find module '../../modules/ModuleName' in /current folder  In other words, "../../" seems to be ignored and it looks in the current folder for "../../foo" as the module name.

I'll look into this. Please hang on...

I'm working on this. If you can, please check out the develop branch to see if the new version will fix your problem?

Should be fixed in 1.2.0.
I'm deploying the new version when TravisCI comes back up (it's momentarily down for maintenance) and it gives the all-green.

Thanks for fixing!


PHPStructuredEditor Selection changed job encountered a problem

Since the last update that I keep getting this error message when editing twig files
Here are the full details of the error popup message :
An internal error occurred during: "PHPStructuredEditor selection changed job".
Invalid thread access
My eclipse installation details:
Eclipse EGit	<IP_ADDRESS>202151440-r	org.eclipse.egit.feature.group	Eclipse EGit   Eclipse EGit Mylyn GitHub Feature	<IP_ADDRESS>202151440-r	org.eclipse.mylyn.github.feature.feature.group	Eclipse EGit   Eclipse SDK	3.7.2.M20120208-0800	org.eclipse.sdk.ide	null   EGit Mylyn	<IP_ADDRESS>202151440-r	org.eclipse.egit.mylyn.feature.group	Eclipse EGit   JavaScript Development Tools	1.3.2.v201201112313-7G78FZvFC7sRekSz-g-nAlz	org.eclipse.wst.jsdt.feature.feature.group	Eclipse Web Tools Platform   Markdown Text Editor Feature	0.9.0	thinktank.markdown.feature.feature.group	Winterwell Associates   PDT Extensions Feature	<IP_ADDRESS>203010852	com.dubture.pdt.feature.feature.group	https://github.com/pulse00   PHP CodeSniffer	1.3.0.R20111119000000	org.phpsrc.eclipse.pti.tools.codesniffer.feature.group	Sven Kiera   PHP Copy/Paste Detection	0.2.2.R20100414000000	org.phpsrc.eclipse.pti.tools.phpcpd.feature.group	Sven Kiera   PHP Depend	0.3.3.R20110627000000	org.phpsrc.eclipse.pti.tools.phpdepend.feature.group	Sven Kiera   PHP Development Tools (PDT) Runtime Feature	<IP_ADDRESS>202282258	org.eclipse.php.feature.group	Eclipse.org   PHP Mess Detector	0.1.0.R20110628000000	org.phpsrc.eclipse.pti.tools.phpmd.feature.group	Dejan Spasic   PHP PEAR Library	1.2.2.R20120127000000	org.phpsrc.eclipse.pti.library.pear.feature.group	Sven Kiera   PHP Tool Integration Core	1.6.0.R20111119000000	org.phpsrc.eclipse.pti.core.feature.group	Sven Kiera   PHPUnit	0.8.0.R20111119000000	org.phpsrc.eclipse.pti.tools.phpunit.feature.group	Sven Kiera   Symfony Feature	<IP_ADDRESS>203010828	com.dubture.symfony.feature.feature.group	https://github.com/pulse00   YEdit Feature	0.0.12	org.dadacoalition.yedit.feature.group	YEdit Project
Please let me know if you need more information to pinpoint the problem
thanks
nuno costa

Hi,
Same problem here:
An internal error occurred during: "PHPStructuredEditor selection changed job".
Invalid thread access

can you paste the twig template where this happens? also, pleas not where the cursor is placed exactly when this occurs.

It happens on all templates and all places within the templates. I tested with all the templates of the AcmeDemoBundle distributed with the Standard Symfony distribution.

@rmoreas @francodacosta  can't reproduce this here. my setup:

eclipse 3.7.2
osx 10.7.3
java version "1.6.0_29"
plugin versions: http://twitpic.com/8qw2yj/full

please provide this info so i can narrow the problem down. (the plugin versions can be found in "About Eclipse SDK -> Installation Details -> Plugins". I need every version from plugins within the ID com.dubture.*

My 2 setups:

Windows 7 x86 / Eclipse 3.7.2 Build id: M20120208-0800 / java.version=1.6.0_30 / plugins: http://twitpic.com/8qxlfd/full
CentOS 6.2 / Eclipse 3.7.2 Build id: M20120208-0800 / java.version=1.6.0_22 / plugins: http://twitpic.com/8qxp17/full

With me it happens even with empty twig files
My setup:
eclipse SDK Version: 3.7.2 Build id: M20120208-0800
Fedora 16 kernel 3.2.7-1.fc16.i686
java version 1.6.0_27 (Java(TM) SE Runtime Environment (build 1.6.0_27-b07))
http://twitpic.com/8qyfvk

I have the same issue here,
Running Windows 7, x64
Default clean installation
Zend Studio 9.0.2 with the Symfony Eclipse Plugin available from 'Welcome page'
Twig Editor Feature <IP_ADDRESS>202102125

sorry guys, i am unable to reproduce this at the moment on osx, and am very busy with a couple of projects atm. i hope i can look into this more thoroughly in the next couple of days. as a workaround, you can open your twig files with the html editor in the meanwhile, to get rid of that annoying popup.

Odd, if I drag a .twig file into my editing area or use Open with.. > Twig Editor I receive the error mentioned above, if I use F3(open)/double click on a file or use PHP Editor, I can work normally with all the magic the plugin offers. ;)

peshis, thanks.
pulse00, I have the same issue too,

@peshis nice tip, opening in the php editor works for me.

I get the same error, with version <IP_ADDRESS>202291547 on OSX.

I've got the qame issue with all the same plugin version that you have on th screenshot Pulse00.
on win7 64bit with eclipe 3.7.2 Build id: M20120208-0800
How can i open a file in the php editor plz to avoid the issue ?

@corlo right click on the file and choose open with, then select php editor
if you don't see the php editor there choose Other and then choose php editor from the list

@pulse00 With Juno I don't get the error
Version: 4.2.0 Build id: I20120127-1145

Same issue on Ubuntu, Eclipse 3.7.2.
Opening up .twig files in the PHP Editor lets you get around the issue - thanks @corlo

Getting the same issue on Windows 7 64 bit - Eclipse 3.7.2 32 bit.
I've juste use Help / Check for updates a minute ago, and it seems fixed by a new version : <IP_ADDRESS>203010852

glad you resolved it @olaurendeau, unfortunately updating to <IP_ADDRESS>203010852 did not fix it on my end

i hope i can find some time this weekend to get to the root of the problem. still not able to reproduce it here.

@pulse00 In can't either but the PR I just sent should do the trick, I hope :)

I've update to <IP_ADDRESS>203010852 and still have the problem like janeklb

please upgrade to 1.0.98 -  it contains @maoueh's PR which should solve this issue.

Indeed! Thanks a million.

it is fixed for me also!
Thanks

Everything is now fine since the update !
Thanks

The update fixed the issue for me too!
Thanks!

Glad it works, I'm gonna update the plugin on my machine too :)

@maoueh did you receive my github messages? i've sent you a private one ;)

Yes I just answered ;) Private one does not appear in the notification on GitHub, at least I didn't find an option for this yet :)

@maoueh you're right, weird. the private ones don't shop up in the header.


CUDAMatException

envy@ub1404:~/os_pri/github/unsupervised-videos$ python lstm_combo.py models/lstm_combo_1layer_mnist.pbtxt datasets/bouncing_mnist.pbtxt datasets/bouncing_mnist_valid.pbtxt 1
invalid device ordinal
Traceback (most recent call last):
File "lstm_combo.py", line 402, in
board = LockGPU(board=board_id)
File "/home/envy/os_pri/github/unsupervised-videos/util.py", line 144, in LockGPU
cm.cuda_set_device(board)
File "/home/envy/os_pri/github/unsupervised-videos/cudamat/cudamat.py", line 2273, in cuda_set_device
raise generate_exception(err_code)
cudamat.cudamat.CUDAMatException: CUDA error: no error
envy@ub1404:~/os_pri/github/unsupervised-videos$

I usually had this error when I ran out of memory on GPU.
Have you tried decreasing the size of the layer in LSTM ?

which file i should change?
my gpu is gtx950M(4g)
I had done this, but not works yet:
envy@ub1404:~/os_pri/github/unsupervised-videos$ git diff
diff --git a/cudamat/Makefile b/cudamat/Makefile
index 0d4b76f..6759b00 100644
--- a/cudamat/Makefile
+++ b/cudamat/Makefile
@@ -1,7 +1,7 @@
##################################
Set path to dependencies.
CUDA.
-CUDA_ROOT=/pkgs/cuda-6.5
+CUDA_ROOT=/usr/local/cuda-7.5
###################################
CUDA_LIB=$(CUDA_ROOT)/lib64
diff --git a/datasets/bouncing_mnist_valid.pbtxt b/datasets/bouncing_mnist_valid.pbtxt
index b157a1e..18bb90d 100644
--- a/datasets/bouncing_mnist_valid.pbtxt
+++ b/datasets/bouncing_mnist_valid.pbtxt
@@ -1,5 +1,5 @@
dataset_type: VIDEO_PATCH
-data_file: "/ais/gobi3/u/emansim/unsupervised-videos/bouncing_mnist_test.npy"
+data_file: "/media/envy/data1t/dataset/bouncing_mnist_test.npy"
num_frames: 20
batch_size: 80
image_size: 64
diff --git a/models/lstm_combo_1layer_mnist.pbtxt b/models/lstm_combo_1layer_mnist.pbtxt
index 30920d2..c25cc55 100644
--- a/models/lstm_combo_1layer_mnist.pbtxt
+++ b/models/lstm_combo_1layer_mnist.pbtxt
@@ -12,9 +12,9 @@ future_conditional: true
binary_data: true
lstm {
name: "lstm_1_enc"

num_hid: 2048

num_hid: 512
has_input: true

input_dims: 4096

input_dims: 1028
w_dense {
init_type: UNIFORM
scale: 0.01
@@ -58,11 +58,11 @@ lstm {

lstm_dec {
name: "lstm_1_dec"

num_hid: 2048

num_hid: 512
has_output: true
:


Vavr/Javaslang Jackson module support

Hi guys,
I recently tried to add Swagger to our SpringBoot application (using Springfox) but I'm struggling on the integration with Vavr (ex-Javaslang).
io.springfox:springfox-swagger2:2.6.1
io.springfox:springfox-swagger-ui:2.6.1
io.vavr:vavr:0.9.0
io.vavr:vavr-jackson:0.9.0
(I somehow had issues with 2.7.0 so I used 2.6.1 instead)
Some of our exposed models (in controllers) use Vavr (e.g. io.vavr.collection.List or io.vavr.control.Option) and it works fine with SpringBoot thanks to the io.vavr.jackson.datatype.VavrModule which is a Jackson module to support Vavr objects.
However it does not seem to integrate well with Swagger. I tried in several ways to register a VavrModule to the ObjectMapper, but the result in Swagger does not look good:

Notice the io.vavr.collection.List<String> invalidityCategoryReasons which appears with many inner fields (which are Vavr implementation details) like async, distinct, empty...
Here's a few of the things I tried so far:
// In the Docket bean
import io.swagger.util.Json;
import io.vavr.jackson.datatype.VavrModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

  @Bean
  public Docket api() {
    Json.mapper().registerModule(new VavrModule());
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build();
  }

}

// Using an event listener on ObjectMapperConfigured as explained in https://springfox.github.io/springfox/docs/current/#configuring-the-objectmapper
import io.vavr.jackson.datatype.VavrModule;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import springfox.documentation.schema.configuration.ObjectMapperConfigured;

@Component
public class SwaggerJacksonModuleWithVavr implements ApplicationListener<ObjectMapperConfigured> {

  @Override
  public void onApplicationEvent(ObjectMapperConfigured event) {
    event.getObjectMapper().registerModule(new VavrModule());
  }
}

// Using a proposed fix from https://springfox.github.io/springfox/docs/current/#answers-to-common-questions-and-problems in case of custom object mapper being ignored
import com.fasterxml.jackson.databind.ObjectMapper;
import io.vavr.jackson.datatype.VavrModule;
import java.util.List;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class MyWebAutoConfiguration extends WebMvcConfigurerAdapter {

  @Override
  public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    ObjectMapper objectMapper = null;
    for (HttpMessageConverter converter : converters) {
      if (converter instanceof MappingJackson2HttpMessageConverter) {
        MappingJackson2HttpMessageConverter jacksonConverter =
            ((MappingJackson2HttpMessageConverter) converter);

        if (objectMapper == null) {
          objectMapper = jacksonConverter.getObjectMapper();
          objectMapper.registerModule(new VavrModule());
        } else {
          jacksonConverter.setObjectMapper(objectMapper);
        }
      }
    }
  }
}

I'm new to Swagger and Springfox so I might have done or overlooked something silly, I appreciate any help.
Thanks!

I'll take a look and see whats going on

Hi @dilipkrish,
Did you have some time to check this please? I took another look, hoping a fresh eye would spot a misconfiguration, but I did not manage to make it work :(
Thanks!

Any news about this problem ?

@dilipkrish
Having a very similar issue. My web service uses Vavr and a 3rd party library that includes Jackson mixins registered in a module to control marshaling. Works well with the exception of Swagger.
@Sir4ur0n
Have you found an answer yet?

@imode69 Nope :( Unfortunately for the moment we declare all our controllers with vanilla Java until this can be resolved.

@Sir4ur0n It would be easier to create rules for the Vavr classes to map to native jdk8 collections. For e.g.  create a alternate type rule for vavr.List<WildcardType> => jdk8.List` etc.

@dilipkrish I'm not sure I understand what you mean by "rule"?
Also, how come Springfox doesn't let us customize the ObjectMapper? At least by injecting additional Jackson modules to it...

@Sir4ur0n see here on how to substitute list/array types. You can use the same technique to substitute wildcard vavr collection types => jdk8 types.

Also, how come Springfox doesn't let us customize the ObjectMapper? At least by injecting additional Jackson modules to it...

It does ... you can listen for ObjectMapperConfigured application events like here...
https://github.com/springfox/springfox/blob/4427e23933629d1dce3ac2a80f7c8cd4d75f8ef6/springfox-schema/src/main/java/springfox/documentation/schema/property/OptimizedModelPropertiesProvider.java#L108-L111

Hi,
Effectively, with rules it works, but Wildcard don't. We have to define a rule per generic:
  private AlternateTypeRule[] getListRules() {
    return new AlternateTypeRule[]{
        buildRuleForList(String.class),
        buildRuleForList(Integer.class)
    };
  }

  private AlternateTypeRule buildRuleForList(Class<?> type) {
    return newRule(typeResolver.resolve(List.class, type), typeResolver.resolve(java.util.List.class, type));
  }

@allienna I'd be surprised if it doesnt work. Are you sure you're using spring fox's WildcardType? Also for this use case ☝ it is supported out of the box, so Im confused why its not working.

My bad, maybe some issue with my browser refresh routine. Sorry, it works fine with WildcardType.
Thanks

@allienna Also you can use the short for for that genericModelSubstitutes

Effectively, it's cleaner.
Thanks

@dilipkrish As stated in my initial post, I tried adding the VavrModule on the ObjectMapperConfigured event, but it doesn't work... :(

Hi @dilipkrish
Here's a test project to demonstrate adding a module to the ObjectMapper does not work:
https://github.com/Sir4ur0n/springfox-swagger-vavr

Run as a simple Spring Boot application
Go to http://localhost:8080/swagger-ui.html
The Main Controller exposed API is not correct:

For reference the easy way to add the rules is to use an AlternateTypeRulesConvention
https://gist.github.com/dilipkrish/2bf80a0285a04b4037c8994fd8cb8b80


Make code changes arising from user guide review

Change lockTCRIT() to lockedTCRIT()
Change lockTWINDOW() to lockedTWINDOW()
Check if setLockTCRIT() and setLockTWINDOW do / should return success or fail.

Method names changed.
Will make no changes to set methods.

Changed locked... to isLocked...


update doc: add default value

Codecov Report

Merging #154 into develop will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #154      +/-   ##
===========================================
- Coverage    52.86%   52.85%   -0.01%
===========================================
  Files          217      217
  Lines        21573    21573
===========================================
- Hits         11405    11403       -2
- Misses        8876     8879       +3
+ Partials      1292     1291       -1

Impacted Files
Coverage Δ

bfe_http2/writesched.go
79.38% <0%> (-1.53%)
:arrow_down:

bfe_spdy/server_conn.go
78.09% <0%> (-0.45%)
:arrow_down:

bfe_http2/server.go
71.67% <0%> (-0.17%)
:arrow_down:

bfe_spdy/frame_read.go
58.11% <0%> (+0.75%)
:arrow_up:

bfe_websocket/server_conn.go
76.51% <0%> (+1.51%)
:arrow_up:

Continue to review full report at Codecov.

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


Responsivetable

This relates to #529 (responsive tables) and also provides a rough fix for #571 (Menu bar on narrow screens)
You can see it in action here

Other than those separation lines, looks good :smile: :+1:
(https://twofactorauth.org/ on the left, http://2fa.hf.ms/ on the right. Chrome 40.0.2214.115 on Linux Mint 16)

Is this PR still useful or should it be closed?

Review status: 0 of 3 files reviewed, all discussions resolved, some commit checks pending.

Comments from the review on Reviewable.io

Good question, probably still useful as twofactorauth.org isn't mobile friendly.
I just haven't thought about it for so long, I'll try to find the time to add divider lines soon, or someone else can.
I'm not sure how up to date 2fa.hf.ms is anyway

@waako Do you still think you can add the dividers?

Thanks for reminding me :smile:
I've made the small CSS change which adds a divider border to each row.
I've not tested it on my version, as not got the same local environment so don't have time right now to get new build up on github, but tested it in devtools, so should work!

@waako could you also update your local environment with our remote branch.

Great. Updating should also remove the providers page and text on the front page about it.

I'll see what I can do, I haven't looked at this in over a year, so a bit behind, and I'm mid-process of moving to another country, so it may take a few weeks!

I think we can close this one as we're working on a new layout.

I think we can close this one as we're working on a new layout.

Hello. This issue has been resolved in issue #1368.


With devmode off can't create or edit guides due to twig error

Hey Will,
Digging the new features so far!
Getting the following log if devmode is off which breaks editing and adding guides.
Twig\Error\SyntaxError: Unknown "dump" function. in /var/www/vendor/wbrowar/guide/src/templates/edit.twig
Thanks!

Yeah, I just caught that last night, too... I'll have a fix for it in the next release.

Fixed in version 2.0.1


PacReq:

Types
No response
URL
https://github.com/K4rakara/freshfetch
Building guide
https://github.com/K4rakara/freshfetch/blob/master/README.md
Additional context
No response

I am working on this, it should be ready soon

For public record, the pull request is: https://github.com/pacstall/pacstall-programs/pull/6136


⚠ Jenkins Plugins Artifactory has degraded performance

In fb1960c, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1159 ms

Resolved: Jenkins Plugins Artifactory performance has improved in d370ad9 after 12 minutes.


In-memory CredentialSource for IdentityPoolCredentials

Is your feature request related to a problem? Please describe.
Right now it's only possible to create IdentityPoolCredentials from either a file locally presented on the machine or via a url like metadata server. It will be great to have an option to just be able to provide the contents of the token directly in the config file so I don't have to manage two credentials files.
Plus in my case I'd like to programmatically create credentials and manage them.
Describe the solution you'd like
Right now a config file for IdentityPoolCredentials looks like this:
{
  "type": "external_account",
  "audience": "//iam.googleapis.com/projects/PROJECT_ID/locations/global/workloadIdentityPools/POOL_NAME/providers/PROVIDER_NAME",
  "subject_token_type": "urn:ietf:params:oauth:token-type:jwt",
  "token_url": "https://sts.googleapis.com/v1/token",
  "service_account_impersonation_url": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/cirrus-ci@PROJECT_NAME.iam.gserviceaccount.com:generateAccessToken",
  "credential_source": {
    "file": "/tmp/token.jwt",
    "format": {
      "type": "json",
      "subject_token_field_name": "access_token"
    }
  }
}

It will be great if I could provide credential_source as someting like this:
{
    "text": "...",  #JWT token here
    "format": {
      "type": "json",
      "subject_token_field_name": "access_token"
    }

Describe alternatives you've considered
I've tried to just create a temp file for the credentials and use but in a multithreading environment and with a long lived nature of the tokens due to refreshing mechanism it's impossible to clean up the such temp files.

I just implemented OIDC for AWS and their SDK has this awesome AssumeRoleWithWebIdentityRequest#setWebIdentityToken to provide the token as plain text which was very pleasant to use when you need to create bunch of clients with different tokens on demand.

Hi @fkorotkov, https://github.com/googleapis/google-auth-library-java/pull/1336 provides a way to provide your own retrieveSubjectToken() implementation. This way the token can be refreshed.


Remove WriteFont

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 31.446%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
305

Relevant Lines:
907

💛  - Coveralls


WIP: Install the policy generator Kustomize plugin

This is required for the policy generator to be integrated into ACM
GitOps. For more information on the policy generator, see the JIRA
epic ACM-699.
Resolves:
https://github.com/open-cluster-management/backlog/issues/15929

/cc @rokej
This PR is WIP because we haven't yet officially released the policy generator. I've made the PR so that you have more time to review it. Either tomorrow or on Monday, I'll update the commit so that the Git tag used is an actual version and not placeholder.

/retest

I seem to be getting an unrelated error in the ci/prow/test-unit job. I'll ignore it for now.

/lgtm

/lgtm


Active menu item not properly marked

Problem
Active menu item not properly marked as active. For example, if you put @blog link in navbar, and then put @blog/id (post link) - the active menu item will always be @blog regardless if you're at @blog or @blog/id
The functionality to mark menu items active or not exists in /app/system/modules/site/src/MenuHelper.php
This is problem because if you would like to have multiple pages in your extension besides an index, e.g. @extension/time || @extension/place || @extension/thing, only @extension/index would be marked active.
Technical Details

Pagekit version: 0.10.4
Webserver: Apache 2.4.9
Database: MySQL 5.6.17
PHP Version: 5.5.12

Troubleshooting

[x] I have enabled debug mode: https://pagekit.com/docs/troubleshooting/debug-mode
[x] I have verified the server requirements: https://pagekit.com/docs/getting-started/requirements
[x] I have checked the browser developer console for JavaScript errors

Should be fixed in 1.0.12 (if not please reopen).


feat(ila): update content pack

In order to have a good experience with our community, we recommend that you read the contributing guidelines for making a pull request.
Summary of Pull Request

Add support to update content packs in vRealize Log Insight from the in-product content pack marketplace.

Updates Install-vRLIContentPack
Updates Get-vRLIMarketplaceMetadata
Adds Update-vRLIContentPack
Refactors Enable-vRLIContentPack to support a broader set of content packs.

Signed-off-by: Ryan Johnson<EMAIL_ADDRESS>Type of Pull Request

[ ] This is a bug fix.
[x] This is an enhancement or feature.
[ ] This is a code style / formatting update.
[ ] This is a documentation update.
[x] This is a refactoring update.
[ ] This is something else.
Please describe:

Related to Existing Issues

Closes: #56
Test and Documentation Coverage

[ ] Tests have been completed (for bug fixes / features).
[ ] Documentation has been added / updated (for bug fixes / features).

Breaking Changes?

[ ] Yes, there are breaking changes.
[x] No, there are no breaking changes.

I've kept this pull request in draft status until I run through some final tests.


Create devcontainer.json

@MAGceKa what's this for?

Hi, I've tried to open this repo on Codespaces and work perfectly and out of the box:

I just opened the project, run npm i and npm run dev and then clicked on the browser link - and big-AGI showed up perfectly within 30 seconds max.


refactor achievement HTML

Issue #263
Code quality Improvement -

Refactored - achievement.html -

Removed JS from in between ✅
Function used instead of jQuery ready.
Removed redundant CDNs 🔁
Used CSS instead of JS for simple hover.

Will be working on each and every file step by step. Merge gradually.
Advisable - Not to merge any PR till tomorrow as it might create conflict.
@anushbhatia

See there are still changes to be made, So wait for them and then you can go on

Okay, no problem. But my suggestion would be, lets improve the whole thing today itself as changes will keep on coming, day by day. What's say? @anushbhatia

okay then do it at the end of the day when all PRs are merged.

okay then do it at the end of the day when all PRs are merged.

Okay, merge all the PR's and create an announcement - "Not to create a PR till tuesday" , I will complete all the file changes tomorrow i.e. refactor whole project. Cool ?

yes, no problem but message me when u make a PR on slack

Okay , I have started working on this.


KubeWise chat message can have optional extra text (like the k8s cluster)

I want to install KubeWise for multiple k8s clusters (staging and production).  I would like to have the message it sends clearly show which cluster the helm command is running in.  Maybe optional text I can append to the text it runs, so I can say "staging: " or "production: " at the start.

I like this idea a lot.
My personal preference is to create separate slack channels for staging and production and use --set slack.channel="#staging" to direct the messages to each channel. That way you can have different settings for each channel. You might want notifications silenced in the #staging channel for example.
However, I can see how there will be situations where you want them both going to the same channel. Maybe you have low install volume and don't want to bother with separate channels.
The current implementation looks like this in the Slack message playground.

Perhaps if the user passed
 --set slack.messagePrefix="`production`\n"

then they could get a message which looks like this:

What do you think?

That's fine with me, I'm not picky :)  My alternative would be to make multiple kubewise apps: call one of them "KubeWise-Staging" and another "KubeWise-Production".

@cep21 this feature is added and released in version 0.5.0.
helm install kubewise -n kubewise larder/kubewise --set handler=slack --set slack.token="<api-token>" --version 0.5.0 **--set messagePrefix="\`production\` "**


Task/CMPS 8

Added an administrative tab that allows admins to change student's affiliations

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

688 of 1401 (49.11%)  changed or added relevant lines in 35 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-19.4%) to 49.471%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

compass/clients/init.py
3
4
75.0%

compass/clients/mock_person_client.py
3
4
75.0%

compass/dao/term.py
16
17
94.12%

compass/templatetags/vite.py
40
41
97.56%

compass/urls.py
15
16
93.75%

compass/views/api/access_group.py
6
9
66.67%

compass/views/api/affiliation.py
7
10
70.0%

compass/views/api/support.py
7
11
63.64%

compass/tests/init.py
13
18
72.22%

compass/dao/group.py
9
17
52.94%

Files with Coverage Reduction
New Missed Lines
%

compass/context_processors.py
1
0%

compass/views/api/student.py
1
26.53%

Totals

Change from base Build<PHONE_NUMBER>:
-19.4%

Covered Lines:
701

Relevant Lines:
1417

💛  - Coveralls


Improve linters

add returnstyles linter (for #80)
update docs
cosmetic fixes

Coverage: 94.04%. Remained the same when pulling 2bd9a80cf8210c6bc2d317143dc8ddb990c9c3c6 on gavv:main into da750349054a63fe45587938e65ccc87fb8668b5 on roc-streaming:main.


no result after running the code

Hi, thanks for your code, there is no error in the code,but no results are displayed in the end. There is only one window named "depth visualizer", and there is no diaplay content. Can you tell me how to solve it?

Can you share with me your calls to DepthVisualizer API?

`from DepthVisualizer import DepthRenderer, Utils
import cv2
import numpy as np
from matplotlib import pyplot as plt
renderer = DepthRenderer(1200, 800, camera_fov=100)
renderer.hide_window()  # If you only want to extract rendered frames, you can disable window with this command
renderer.set_camera_coords(0, 0, 0)  # Camera originally starts at [0, 10, -10]
renderer.change_camera_rotation(0, 10)  # Camera originally has pitch of -10
rgb_image = cv2.cvtColor(cv2.imread("image.png"), cv2.COLOR_BGR2RGB)
sample_depth_map = np.ones((rgb_image.shape[0], rgb_image.shape[1], 1))  # A depth map where depth of every pixel is 1
kitti_calib = Utils.read_kitti_calibration("calib.txt")
focal_length = kitti_calib["focal_length"]
principal_point = kitti_calib["principal_point"]
points = Utils.convert_depthmap_to_points(sample_depth_map, focal_length, principal_point, rgb_image)
renderer.set_points(points)
renderer.render()
frame = renderer.get_rendered_frame()
plt.imshow(frame)`

Something seems to be broken, I will check whats going on after work and hopefully fix the issue soon.

Fixed the issue with latest update


non-infinite + asNavFor + navigate past end = no position update

Please see this fiddle for a demo.
I've tried many combinations, but I'd like to use all the commented out options in the fiddle if possible.

Issue comes from asNavFor triggering another slideHandler, and in the screenshot below, the hilighted code is causing the problem (it's not resetting the index to 1, when it's larger than slides to show` ..

Perhaps consider having 2 infinite sliders, for now, @jezmck , not sure how long until it's fixed. it has a lot of regression potential.

Unfortunately, that goes against the design which cannot be changed.
However, I've just tried making the second slider non-infinite which will probably be acceptable, and works perfectly.

@jezmck You could also use the built in events to manually write asNavFor behavior.
https://jsfiddle.net/qpu627xe/

That is excellent, many thanks @kenwheeler.


Explain how docs:docsTest works

Previously, docs:docsTest is very hard to understand as there is no documentation that explain how it works in detail.

@eskatos

There's a sample testing mechanism that is missing.
Samples are also tested by integration tests using @UsesSample, see AbstractSampleIntegrationTest.
I think this should be added.

It is not part of docs subproject, right?

These tests run against the samples from :docs so I think they should be covered here.

@bot-gradle test and merge

I've triggered a build for you.

@eskatos thanks, I mentioned it in the docs.


Create static.yml

Initial commit of API documentation
Signed-off-by: Stroud Custer<EMAIL_ADDRESS>

This is for the initial publication of the API documents


Check if $PORT is available before passing it to process

Overmind should pass only available port numbers otherwise the user experience is bad, if port is in use by some proc then try next (up to 3-5 tries).

I don't think this is good to dynamically select ports. I think things should be predictable. If a user starts his Procfile, and his Rails app is bint to port 5000, it should always be bint to 5000. Otherwise, it will confuse and frustrate the user.

Sure the decision is up to you, I prefer to have app started rather than interrupted by the fact that the port is allocated by someone, the idea to search for a port was taken from https://pypi.org/project/honcho/ - python implementation of the foreman.

How is this supposed to be working?
I tried it with the following snipped but when I tried to start the second database in another directory it complained that the port 5000 was already used.
I would like the user to be able to start as many instances as he wants in parallel.
db: postgres -p $PORT

@Nebucatnetzer You can configure the way Overmind sets the PORT variable: https://github.com/DarthSim/overmind#specifying-the-ports

I’ve seen that. So overmind doesn’t check if the port is available globally on the system?


Better Handling of GoalsId storage

At the moment the goalId is being set in localStorage. This might grow into an issue, but for now it works. Redux or MobX seems like overkill for now, since this and the auth jwt is the only info being store globally.
Looking for a better way or confirmation
  _handleGoalId(id) {
    localStorage.setItem("goalsId", id);
  }

Questions

Should the be stored in a global store?
Is there other localStorage use in the future?

From my research this works


add check for docs generation

If a PR contains changes in the docs folder, we should make sure the docs can be generated.
I'm a bit worried about the extra time this would add, as a full site build is pretty slow currently, ~5 mins 10 seconds on my Mac locally.
We should try to make it as fast / maybe incremental, if possible.

I second this. However most of the fixes in #1981 where to the docstrings themselves, so I wonder if its enough to just check for changes to the docs folder or if we actually need to check for all PRs.
The most time consuming part is the auto generation of stubs. I will look into if this can be done incrementally.

This is one of the github actions now.


_X_AMZN_TRACE_ID is not set

The AWS guide - https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html - says a custom runtime should do the following

Propagate the tracing header – Get the X-Ray tracing header from the Lambda-Runtime-Trace-Id header in the API response. Set the _X_AMZN_TRACE_ID environment variable locally with the same value. The X-Ray SDK uses this value to connect trace data between services.

The _X_AMZN_TRACE_ID environment variable is not currently set.

It's required to trace the Lambda with X-ray according to the documentation:
https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html

Propagate the tracing header – Get the X-Ray tracing header from the Lambda-Runtime-Trace-Id header in the API response. Set the _X_AMZN_TRACE_ID environment variable locally with the same value. The X-Ray SDK uses this value to connect trace data between services

I added it in my runtime to be able to evaluate the performances: https://github.com/swift-sprinter/aws-lambda-swift-sprinter-core/blob/master/Sources/LambdaSwiftSprinter/Sprinter.swift
The user can enable/disable it from the console so I think it should be set.

It's important to evaluate the performances:

Hi @Andrea-Scuderi, this runtime exposes the tracing header on the Context object for further context/trace propagation and in the logger as metadata for better log consolidation. If you enable tracing right now you will get an xray output just like you've shown above.
Since @bmoffatt has told us that we don't need to expose the header as an env variable I would argue to close this issue since it's original purpose doesn't need to be fulfilled. @tomerd wdyt?

@bmoffatt is def the authority on this, so yes closing sgtm


http://putlocker.is/watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker.html

The generic extractor does not seem to catch the JW Player:
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://putlocker.is/watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker.html', '-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.06.19
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.5
[debug] Proxy map: {}
[generic] watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker: Requesting header
WARNING: Falling back on generic information extractor.
[generic] watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker: Downloading webpage
[generic] watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker: Extracting information
ERROR: Unsupported URL: http://putlocker.is/watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker.html; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
  File "./youtube-dl/youtube_dl/extractor/generic.py", line 440, in _real_extract
    doc = parse_xml(webpage)
  File "./youtube-dl/youtube_dl/utils.py", line 1406, in parse_xml
    return xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1301, in XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1643, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1507, in _raiseerror
    raise err
ParseError: mismatched tag: line 32, column 151
Traceback (most recent call last):
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 516, in extract_info
    ie_result = ie.extract(url)
  File "./youtube-dl/youtube_dl/extractor/common.py", line 167, in extract
    return self._real_extract(url)
  File "./youtube-dl/youtube_dl/extractor/generic.py", line 722, in _real_extract
    raise ExtractorError('Unsupported URL: %s' % url)
ExtractorError: Unsupported URL: http://putlocker.is/watch-lemony-snickets-a-series-of-unfortunate-events-online-free-putlocker.html; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

putlocker.is is clearly dedicated to copyright infringement therefore can't be supported by youtube-dl.


Bugfix db ensemble data

fix bugs for not saving tmatrix and two boolean variables properly in metadata before actually saving to database
For the constructor in TimeSeires, I remove the for loop and change it for memcpy for better performance
convert the cursor to a list to fix bugs for getting the length of the records correctly when passing MongoDB cursor in read_ensemble_data
update the format of yaml files to support the new features.

Codecov Report

Merging #220 (fd65929) into master (82d6582) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #220      +/-   ##
==========================================
+ Coverage   43.22%   43.25%   +0.03%
==========================================
  Files         117      117
  Lines       14899    14894       -5
==========================================
+ Hits         6440     6443       +3
+ Misses       8459     8451       -8

Impacted Files
Coverage Δ

cxx/python/seismic/seismic_py.cc
88.36% <100.00%> (ø)

python/mspasspy/db/database.py
82.14% <100.00%> (+0.02%)
:arrow_up:

python/mspasspy/util/decorators.py
66.18% <0.00%> (-0.49%)
:arrow_down:

python/mspasspy/algorithms/RFdeconProcessor.py
0.00% <0.00%> (ø)

cxx/src/lib/seismic/CoreSeismogram.cc
90.35% <0.00%> (+0.94%)
:arrow_up:

Continue to review full report at Codecov.

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


Feat/helper-classes

This is just a donation of some helper classes. Feel free to hack away.
I can also share how I have personally used them to simplify quite a few APIs.

Disregard, was meant to be opened against fork


Run Python Modules With Pednet

I'm trying to run detectnet_camera.py with pednet.  Doesn't seem to want to run.
python3 detectnet-camera.py --model ~/jetson-inference/data/networks/ped-100/snapshot_iter_70800.caffemodel --network pednet
[TRT]   completed loading NVIDIA plugins.
[TRT]   detected model format - custom  (extension '.')
[TRT]   model format 'custom' not supported by jetson-inference
detectNet -- failed to initialize.
jetson.inference -- detectNet failed to load built-in network 'pednet'
PyTensorNet_Dealloc()
Traceback (most recent call last):
File "detectnet-camera.py", line 49, in
net = jetson.inference.detectNet(opt.network, sys.argv, opt.threshold)
Exception: jetson.inference -- detectNet failed to load network

What happens when you run python3 detectnet-camera.py --network=pednet?
Does it work when you run the C++ version?   detectnet-camera --network=pednet

Same thing happens.  The CPP works.
I think if I just modify for the my-detection.py, that'll work better.


Truncated zip prevents further downloads

If the Maven task is cancelled or fails during a driver download, the truncated zip prevents further attempts to download the same file.  As the temp path is independent, the offending files must be removed manually.  Can a status be added after the file has been successfully downloaded?

Yes this is certainly an issue. Do you feel like looking into it and provide a PR?

Sure thing, I'll take a look in the next few days. Chances are it will mean writing a temp file for each download which includes an 'OK' message with a check for this before attempting re-download.

Yes that sound like the way to go.

Sorry for the late response. The tests have been failing for some unknown reason for the phantomjs driver and I have no idea why so I started to refactor some things. I'm working on this issue right now so you know.

No worries Anders, unfortunately I've not had a chance to look at this yet. Let me know if you need anything from me to get this sorted though and I'll try and help.

So I finally had some time to release this in version 2.1.0
changelog:
https://github.com/webdriverextensions/webdriverextensions-maven-plugin#210-2016-may-20


[Feature]: New tabs api can't replace all Toggle usecases

What problem does this feature solve?
Hi! Thank you all for this fantastic project!
I'm currently using tremor 2 and Toggle to render a component similar to this one:

But instead of loading all the content of the card at once, I'm using a router to load the content depending on the selected ToggleItem, something like this:
<Toggle
  value={currentPath}
  onValueChange={(value) => {
    navigate(`.${value}`);
  }}
>
  <ToggleItem value="/shipments" text="Shipments" />
  <ToggleItem value="/movements" text="Movements" />
</Toggle>

<Outlet />

But the new Tabs API can't support this navigation pattern as the content switch is being handled automatically based on the tab's index.
I would love to migrate to tremor 3, but this blocks me. Is there a way to enable this pattern?
What does the proposed API look like?
No response

But how TabPanels should be created? Do I have to create multiple TabPanel?

TabPanels are not mandatory if you don't need them. You can just use TabGroup and TabList.

@mitrotasios you're right, thanks! Should I close this issue or do you want to use it to track the development of non-numeric values for tabs?


block dns update packet

We should block/filter? certain types of requests, like DNS UPDATE packets. Might need support from Go DNS.

This needs support from github.com/miekg/dns. I'm thinking of adding a filterFunc(*dns.Msg, w ResponseWriter) bool there to will allow custom filtering.

issue is stale


Unsupported operation exception when updating a task and using the DB

When updating a task while using the DB an Unsupported operation exception is thrown after opening the "Update Task" window again.

The problem was that the wrong datatype was being used => java.sql.Date instead of java.util.Date (inside UpdateTaskFormController).


storm path projections

Update windstorm risk assessment with additional references and clarify storm path projections

I fixed a few typos while we have a PR going. I'll merge unless you have anything further to add. Thanks!


support minio as object storage

Quay requires object storage.
The documentation mentions:

aws s3
openstack swift
Or Ceph Rados ( l love OSDs btw)

Now the question, can you support customizing the endpoint of s3 api because i want to use minio.
While minio is 100% API compatible with AWS S3, i need to provide the endpoint (url) of the minio server
old similar issue : https://access.redhat.com/solutions/3782641

Yes, MinIO will work with Quay using the RadosGWStorage driver option in config.yaml and providing the appropriate values. Our team has used it for development and testing purposes. It is not supported as part of the Red Hat Quay product, however.
Here is a partial config.yaml for using MinIO:
DISTRIBUTED_STORAGE_CONFIG:
  default:
  - RadosGWStorage
  - access_key: <hidden>
    secret_key: <hidden>
    hostname: <hidden>
    bucket_name: <hidden>
    port: 443
    is_secure: true
    storage_path: /datastorage/registry

@alecmerdler  thank you so much! really appreciated!
Could you please do me a favor by sharing the file cconfiguration: not only config.yaml but also the kubernetes manifests ?
i just need the shape where you can hide irrelevant values (sensitive,.. so on)

Sure, configuring a QuayRegistry to use unmanaged object storage should be very easy. You can either use the config tool UI (found using status.configEditorEndpoint) or by providing spec.configBundleSecret which contains the required Quay config values found above. I won't go into deploying MinIO itself, but configuring Quay to use an existing MinIO deployment basically follows the "unmanaged component" pattern, which looks a bit like this:
whatever.quayregistryyaml
apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
  name: whatever
spec:
  configBundleSecret: quay-config-abc
  components:
    - kind: objectstorage
      managed: false

quay-config-abc.secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: quay-config-abc
stringData:
  config.yaml:
    ... <other key/values>
    DISTRIBUTED_STORAGE_CONFIG:
      default:
      - RadosGWStorage
      - access_key: <hidden>
        secret_key: <hidden>
        hostname: <hidden>
        bucket_name: <hidden>
        port: 443
        is_secure: true
        storage_path: /datastorage/registry

Sure, configuring a QuayRegistry to use unmanaged object storage should be very easy. You can either use the config tool UI (found using status.configEditorEndpoint) or by providing spec.configBundleSecret which contains the required Quay config values found above. I won't go into deploying MinIO itself, but configuring Quay to use an existing MinIO deployment basically follows the "unmanaged component" pattern, which looks a bit like this:
whatever.quayregistryyaml
apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
  name: whatever
spec:
  configBundleSecret: quay-config-abc
  components:
    - kind: objectstorage
      managed: false

quay-config-abc.secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: quay-config-abc
stringData:
  config.yaml:
    ... <other key/values>
    DISTRIBUTED_STORAGE_CONFIG:
      default:
      - RadosGWStorage
      - access_key: <hidden>
        secret_key: <hidden>
        hostname: <hidden>
        bucket_name: <hidden>
        port: 443
        is_secure: true
        storage_path: /datastorage/registry

FWIW, I use minio using this sort of configuration, but I had an issue.
When I had minio endpoint set up as minio.quay.mydomain.com it would work fine with docker pull, but fail with crictl pull ... but if I set the minio endpoint (nothing else different) as minio-quay.mydomain.com then it would work with crictl pull
The error from crictl pull was
FATA[0000] pulling image: rpc error: code = Unknown desc = Error parsing image configuration: Error fetching blob: invalid status code from registry 400 (Bad Request)
It made me feel like there was a CORS header issue, possibly related to this comment in the code
In other words, a real minio client implementation may be needed

@venezia Indeed, looks like Quay needs to use a real MinIO client for crictl. For Quay we have focused on maintaing compatibility with docker, podman, and rkt (back in the CoreOS days). If this is important for your use case, I recommend either sending an email to<EMAIL_ADDRESS>or filing an issue using our issue tracker.

i wanna specify also:

Certificate authority to connect securely with the s3 endponit
as well as, ability to skip the s3 v4 signature

I'm also looking to specify a CA to connect to S3 endpoint. Is it possible to set it?


refactor(rspack): remove RawRegex and JsRegExp

Summary
Related to #8254
I ultimately removed JsRegExp and RawRegex because they both needed to be converted into RspackRegex.

The structure pub JsRegExp(JsObject) could cache the corresponding native js regex, but in reality, we never utilized it: the instance passed back to js was always a new regex instance. Therefore, I decided to abandon this approach.

I did not use #[napi(object)], opting instead to implement FromNapiValue and ToNapiValue myself, allowing for strict passing of the regex. While our implementation of FromNapiValue is not as good as the one provided by napi-rs, the ToNapiValue implementation is slightly better than the native one with js regex. Overall, the performance will still be lower, but I believe this trade-off is worthwhile. (In fact, this impact can be ignored)
Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

Although it might be trivial, let me still try to run bench.

!bench

📝 Benchmark detail: Open
Name	Base (2024-11-04 a987332)	Current	Change
10000_big_production-mode + exec	45.9 s ± 613 ms	46.6 s ± 1.06 s	+1.43 %
10000_development-mode + exec	1.84 s ± 17 ms	1.85 s ± 21 ms	+0.46 %
10000_development-mode_hmr + exec	645 ms ± 12 ms	649 ms ± 8.2 ms	+0.67 %
10000_production-mode + exec	2.4 s ± 19 ms	2.4 s ± 30 ms	+0.22 %
arco-pro_development-mode + exec	1.79 s ± 63 ms	1.77 s ± 64 ms	-0.86 %
arco-pro_development-mode_hmr + exec	429 ms ± 1.2 ms	333 ms ± 54 ms	-22.22 %
arco-pro_production-mode + exec	3.19 s ± 87 ms	196 ms ± 16 ms	-93.84 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec	3.27 s ± 50 ms	239 ms ± 4 ms	-92.68 %
threejs_development-mode_10x + exec	1.58 s ± 7.7 ms	1.57 s ± 20 ms	-0.55 %
threejs_development-mode_10x_hmr + exec	784 ms ± 4.2 ms	781 ms ± 15 ms	-0.38 %
threejs_production-mode_10x + exec	4.93 s ± 40 ms	4.94 s ± 17 ms	+0.20 %

The benchmark looks very weird in some cases. It's good to merge though ;-). Thanks!


Fix unrecognized quotation characters from #2106

I guess this is what happens when you merge a (seemingly simple) PR that was open so long you forget whether you tested it...I'm not sure how these different quotation characters made it in here, but this fully restores things back to the way they were here as #2106 intended to do.  Without using the proper quotation mark characters the build process fails immediately within install_base_software.sh.
Coverage reports (updated automatically):

Thanks @elynnwu!


dynamic_rnn error: cannot set initial_state, could before

So, I've come back to my code after a week, I was using dynamic_rnn and have the initial_state parameter set to a tuple, everything was working fine training worked beautifully...
Anyway, now today I get this error:
TypeError: The two structures don't have the same sequence type. First structure has type type 'tuple', while second structure has type class 'tensorflow.python.ops.rnn_cell.LSTMStateTuple'.
I suspect there was an update somewhere, so If someone could point me to where/how I can make an LSTMStateTuple object I would be greatly appreciated.

File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/rnn.py", line 835, in dynamic_rnn
dtype=dtype)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/rnn.py", line 1002, in _dynamic_rnn_loop
swap_memory=swap_memory)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 2002, in while_loop
result = context.BuildLoop(cond, body, loop_vars)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 1887, in BuildLoop
pred, body, original_loop_vars, loop_vars)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 1844, in _BuildLoop
nest.assert_same_structure(list(packed_vars_for_body), list(body_result))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/nest.py", line 137, in assert_same_structure
_recursive_assert_same_structure(nest1, nest2)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/nest.py", line 115, in _recursive_assert_same_structure
_recursive_assert_same_structure(n1, n2)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/nest.py", line 115, in _recursive_assert_same_structure
_recursive_assert_same_structure(n1, n2)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/nest.py", line 112, in _recursive_assert_same_structure
% (type_nest1, type_nest2))
TypeError: The two structures don't have the same sequence type. First structure has type <type 'tuple'>, while second structure has type <class 'tensorflow.python.ops.rnn_cell.LSTMStateTuple'>.

@jarmstrong2 Please can you provide all of the information requested in the TensorFlow issues template - i.e. version information of all packages and full reproduction information.  It is very hard to triage issues if you do not provide these details.

Sorry about the change, which broke backwards compatibility.  To create the new tuple type, use tf.nn.rnn_cell.LSTMStateTuple(c, h) instead of just (c, h).

@jarmstrong2 I hope @ebrevdo 's tip helped you fix your code, and sorry again about the backwards-incompatibility.  I'm closing this out, but feel free to re-open if problems still remain.


cilium-agent binds to the "wrong" IP

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The "no-policies/pod-to-hostport"-tests fail.
📋 Test Report [cilium-test]
❌ 1/47 tests failed (3/493 actions), 33 tests skipped, 0 scenarios skipped:
Test [no-policies]:
  ❌ no-policies/pod-to-hostport/curl-1: cilium-test/client3-868f7b8f6b-48x24 (<IP_ADDRESS>) -> cilium-test/echo-same-node-7f896b84-2crf9 (<IP_ADDRESS>:4000)
  ❌ no-policies/pod-to-hostport/curl-2: cilium-test/client-69748f45d8-6rc8n (<IP_ADDRESS>) -> cilium-test/echo-other-node-58999bbffd-xxsfb (<IP_ADDRESS>:4000)
  ❌ no-policies/pod-to-hostport/curl-4: cilium-test/client2-ccd7b8bdf-mhxvw (<IP_ADDRESS>) -> cilium-test/echo-other-node-58999bbffd-xxsfb (<IP_ADDRESS>:4000)

[cilium-test] 1 tests failed

I've tried to test with curl from the two machines <IP_ADDRESS> and <IP_ADDRESS> and they're both able to reach "their own" port 4000, but not each others.
I went into their respective agents, and noticed something funny, on e.g. the one running on <IP_ADDRESS>:
root@control2:~# kubectl -n kube-system get po -owide | grep cilium
cilium-gs6zs                       1/1     Running   0          67m   <IP_ADDRESS>    control3   <none>           <none>
cilium-operator-854b8454fc-hf9v8   1/1     Running   0          68m   <IP_ADDRESS>    control1   <none>           <none>
cilium-xd86d                       1/1     Running   0          68m   <IP_ADDRESS>    control2   <none>           <none>
cilium-zzbmt                       1/1     Running   0          68m   <IP_ADDRESS>    control1   <none>           <none>
root@control2:~# kubectl -n kube-system exec -it cilium-xd86d -- cilium service list
Defaulted container "cilium-agent" out of: cilium-agent, config (init), mount-cgroup (init), apply-sysctl-overwrites (init), mount-bpf-fs (init), clean-cilium-state (init), install-cni-binaries (init)
ID   Frontend             Service Type   Backend
1    <IP_ADDRESS>:443        ClusterIP      1 => <IP_ADDRESS>:6443 (active)
                                         2 => <IP_ADDRESS>:6443 (active)
                                         3 => <IP_ADDRESS>:6443 (active)
2    <IP_ADDRESS>:443    ClusterIP      1 => <IP_ADDRESS>:4244 (active)
3    <IP_ADDRESS>:9153      ClusterIP      1 => <IP_ADDRESS>:9153 (active)
                                         2 => <IP_ADDRESS>:9153 (active)
4    <IP_ADDRESS>:53        ClusterIP      1 => <IP_ADDRESS>:53 (active)
                                         2 => <IP_ADDRESS>:53 (active)
5    <IP_ADDRESS>:8080   ClusterIP      1 => <IP_ADDRESS>:8080 (active)
6    <IP_ADDRESS>:31992        NodePort       1 => <IP_ADDRESS>:8080 (active)
7    <IP_ADDRESS>:31992   NodePort       1 => <IP_ADDRESS>:8080 (active)
8    <IP_ADDRESS>:8080    ClusterIP      1 => <IP_ADDRESS>:8080 (active)
9    <IP_ADDRESS>:32729   NodePort       1 => <IP_ADDRESS>:8080 (active)
10   <IP_ADDRESS>:32729        NodePort       1 => <IP_ADDRESS>:8080 (active)
11   <IP_ADDRESS>:4000    HostPort       1 => <IP_ADDRESS>:8080 (active)
12   <IP_ADDRESS>:4000         HostPort       1 => <IP_ADDRESS>:8080 (active)
root@control2:~# ip a show bond0
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 7e:bd:d5:ca:52:d1 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/22 metric 100 brd <IP_ADDRESS> scope global dynamic bond0
       valid_lft 433sec preferred_lft 433sec
    inet <IP_ADDRESS>/32 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 ... scope link
       valid_lft forever preferred_lft forever

The service has bound to <IP_ADDRESS>:4000 instead of <IP_ADDRESS>:4000. We use the .32-address as a "keepalived"-ip that the nodes share, intended for the kube-apiserver.
When I tried from <IP_ADDRESS> to curl <IP_ADDRESS>:4000 it worked wonderfully.
When I look at the ciliumnodes, the IPs of the machines are correctly picked up as the INTERNALIP:
root@control2:~# kubectl get ciliumnodes -o wide
NAME       CILIUMINTERNALIP   INTERNALIP    AGE
control1   <IP_ADDRESS>       <IP_ADDRESS>   72m
control3   <IP_ADDRESS>        <IP_ADDRESS>   71m
control2   <IP_ADDRESS>         <IP_ADDRESS>   72m

When I try the other way around.. from control2 to control1, it's the same thing.
I checked the services on <IP_ADDRESS> (control1,)
root@control1:~# kubectl -n kube-system exec -it cilium-zzbmt -- cilium service list
Defaulted container "cilium-agent" out of: cilium-agent...
ID   Frontend             Service Type   Backend
1    <IP_ADDRESS>:443        ClusterIP      1 => <IP_ADDRESS>:6443 (active)
                                         2 => <IP_ADDRESS>:6443 (active)
                                         3 => <IP_ADDRESS>:6443 (active)
2    <IP_ADDRESS>:443    ClusterIP      1 => <IP_ADDRESS>:4244 (active)
3    <IP_ADDRESS>:53        ClusterIP      1 => <IP_ADDRESS>:53 (active)
                                         2 => <IP_ADDRESS>:53 (active)
4    <IP_ADDRESS>:9153      ClusterIP      1 => <IP_ADDRESS>:9153 (active)
                                         2 => <IP_ADDRESS>:9153 (active)
5    <IP_ADDRESS>:8080   ClusterIP      1 => <IP_ADDRESS>:8080 (active)
6    <IP_ADDRESS>:31992   NodePort       1 => <IP_ADDRESS>:8080 (active)
7    <IP_ADDRESS>:31992        NodePort       1 => <IP_ADDRESS>:8080 (active)
8    <IP_ADDRESS>:8080    ClusterIP      1 => <IP_ADDRESS>:8080 (active)
9    <IP_ADDRESS>:32729   NodePort       1 => <IP_ADDRESS>:8080 (active)
10   <IP_ADDRESS>:32729        NodePort       1 => <IP_ADDRESS>:8080 (active)
11   <IP_ADDRESS>:4000    HostPort       1 => <IP_ADDRESS>:8080 (active)
12   <IP_ADDRESS>:4000         HostPort       1 => <IP_ADDRESS>:8080 (active)
root@control1:~# ip a show bond0
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 36:e1:91:d2:1e:ea brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/22 metric 100 brd <IP_ADDRESS> scope global dynamic bond0
       valid_lft 354sec preferred_lft 354sec
    inet <IP_ADDRESS>/32 scope global bond0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 ... scope link
       valid_lft forever preferred_lft forever

Just as on the other one, we've allocated a bunch of extra IPs with keepalived, and it's binding on <IP_ADDRESS>:4000 instead of <IP_ADDRESS>:4000.
When I try from control2 <IP_ADDRESS>, to run the command: curl <IP_ADDRESS>:4000 I get a good result.
I believe that this is a bug, or at least I struggle to figure out what configuration I have to set on the cilium-agents, so they bind to the specific "INTERNALIP" which it seems the tests at least are using (and rightfully should.)
It's a fresh kubernetes cluster, and a fresh installation of cilium.
Cilium Version
cilium-cli: v0.16.10 compiled with go1.22.4 on linux/amd64
cilium image (default): v1.15.5
cilium image (stable): v1.15.5
cilium image (running): 1.15.5
Kernel Version
Linux control1 5.15.0-112-generic #122-Ubuntu SMP Thu May 23 07:48:21 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Linux control2 5.15.0-112-generic #122-Ubuntu SMP Thu May 23 07:48:21 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
Client Version: v1.29.5
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.5
Regression
No response
Sysdump
cilium-sysdump-20240610-150636.zip
Relevant log output
No response
Anything else?
I'm initializing the cluster with:
$ kubeadm init \
    --skip-phases=addon/kube-proxy \
    --control-plane-endpoint cluster.a.internal.mistware.eu \
    --pod-network-cidr=<IP_ADDRESS>/16 \
    --upload-certs

I'm installing cilium with:
$ cilium install --version 1.15.5 \
  --set ipam.mode=cluster-pool \
  --set ipam.operator.clusterPoolIPv4PodCIDRList="<IP_ADDRESS>/16"

The machines are using a bonded interface, called bond0.
Cilium Users Document

[X] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Just to be clear. The tests are "doing the right thing." They fail because the services aren't reachable on the IPs.
However, the services should be made avaiable on the IPs by the agents. But the agents are using alternative IPs for the hosts.

For the record, curl <IP_ADDRESS>:4000 (control1) and curl <IP_ADDRESS>:4000 (control2) are both accessible from inside the pod running on control2:
root@control2:~# kubectl get pods -n cilium-test -o wide
NAME                               READY   STATUS    RESTARTS   AGE    IP             NODE     ...
client-69748f45d8-6rc8n            1/1     Running   0          102m   <IP_ADDRESS>   control2 ...
client2-ccd7b8bdf-mhxvw            1/1     Running   0          102m   <IP_ADDRESS>   control2 ...
client3-868f7b8f6b-48x24           1/1     Running   0          102m   <IP_ADDRESS>    control1 ...
echo-other-node-58999bbffd-xxsfb   2/2     Running   0          102m   <IP_ADDRESS>   control1 ...
echo-same-node-7f896b84-2crf9      2/2     Running   0          102m   <IP_ADDRESS>   control2 ...
host-netns-j48fx                   1/1     Running   0          102m   <IP_ADDRESS>    control2 ...
host-netns-mfntc                   1/1     Running   0          101m   <IP_ADDRESS>    control3 ...
host-netns-pbh4m                   1/1     Running   0          102m   <IP_ADDRESS>    control1 ...

root@control2:~# kubectl -n cilium-test exec -it client2-ccd7b8bdf-mhxvw -- /bin/sh
/ # curl -sI <IP_ADDRESS>:4000 | head -1
HTTP/1.1 200 OK
/ # curl -sI <IP_ADDRESS>:4000 | head -1
HTTP/1.1 200 OK

Looking at the statedb dump we see the following:
{
  "devices": [
    [...]
    {
      "Index": 6,
      "MTU": 1500,
      "Name": "bond0",
      "HardwareAddr": "36:e1:91:d2:1e:ea",
      "Flags": 19,
      "Addrs": [
        {
          "Addr": "<IP_ADDRESS>",
          "Secondary": false,
          "Scope": 0
        },
        {
          "Addr": "<IP_ADDRESS>",
          "Secondary": false,
          "Scope": 0
        },
        {
          "Addr": "<IP_ADDRESS>",
          "Secondary": false,
          "Scope": 0
        },
        {
          "Addr": "fe80::34e1:91ff:fed2:1eea",
          "Secondary": false,
          "Scope": 253
        }
      ],
      "RawFlags": 70723,
      "Type": "bond",
      "MasterIndex": 0,
      "Selected": true,
      "NotSelectedReason": ""
    },
    [...]
  ],
  "node-addresses": [
    [...]
    {
      "Addr": "<IP_ADDRESS>",
      "NodePort": true,
      "Primary": true,
      "DeviceName": "bond0"
    },
    {
      "Addr": "<IP_ADDRESS>",
      "NodePort": false,
      "Primary": false,
      "DeviceName": "bond0"
    },
    {
      "Addr": "<IP_ADDRESS>",
      "NodePort": false,
      "Primary": false,
      "DeviceName": "bond0"
    },
    [...]
  ]
}

So according to netlink the bond device has 3 primary IPs, Cilium currently uses the following sorting algorithm:
// sortedAddresses returns a copy of the addresses sorted by following predicates
// (first predicate matching in this order wins):
// - Primary (e.g. !IFA_F_SECONDARY)
// - Scope, with lower scope going first (e.g. UNIVERSE before LINK)
// - Public addresses before private (e.g. <IP_ADDRESS> before <IP_ADDRESS>)
// - By address itself (<IP_ADDRESS> before <IP_ADDRESS>)
//
// The sorting order affects which address is marked 'Primary' and which is picked as
// the 'NodePort' address (when --nodeport-addresses is not specified).

So since all your IPs are equal, we pick <IP_ADDRESS> since its smallest. But as the comment suggest you can use the --nodeport-addresses flag / nodeport-addresses configMap property to specify a list of CIDRs which would be preferred as nodeport addresses. Unfortunately it seems like there is no helm value exposed for this flag, so you might need to edit the configMap directly for now.
Alternatively, you could look into marking some addresses as secondary or modifying their scope, I don't know if this is possible or how that would work with bond devices, I have little experience configuring bonded devices.

Thank you for your answer, this is super helpful!
Just to be clear, since I have my nodes on the <IP_ADDRESS>/24, if I set this as the --nodeport-addresses it will still choose the appropriate one from there, with respect to the node, (in the example <IP_ADDRESS>) and not just suddenly start from <IP_ADDRESS>, right?

Just for the record, I had great success with using --set extraConfig.nodeport-addresses="<IP_ADDRESS>/24"

Before we close this issue, would you mind telling me how you decide whether an IP is primary or secondary? (Where do you read this information from?)

That happens here: https://github.com/cilium/cilium/blob/v1.15.5/pkg/datapath/tables/node_address.go#L326. So essentially, the first IPv4 we find will be primary and the first IPv6 we find is primary. That is why the sorting order is so important.

Just for the record, I had great success with using --set extraConfig.nodeport-addresses="<IP_ADDRESS>/24" with helm.

That is great to hear!


Any plan for upgrading to sysrepo and libyang version 2

Hi team,
Could you let know if there is a plan to upgrade netconf-polt to use latest libnetconf2, sysrepo, and libyang to latest version 2 in the near future? Thanks a lot.
Br
George

Hi George,
The develop branch uses netopeer2 2.1.16 which isn't the latest version, but 1 before last. AFAIK there were massive changes in netopeer2 2.1.23 & companion packages because it is the 1st version supporting schema mount. I prefer to wait a bit until dust settles, unless there is a specific bug in 2.1.16 that was fixed in 2.1.23 or need to use the schema mount.
BR
Igor

Hi Igor,
Thanks a lot for your quick comments.
I downloaded the latest netconf-polt master from github https://github.com/balapi/netconf-polt
It can make successfully with below command. Looking into the build/third_party folder it is using sysrepo 1.4.140 and libyang 1.0.240, not version 2.0.
make NETCONF_SERVER=y NO_BAL=n TR451_VOMCI_POLT=n SIMULATION_BUILD=n
Due to there might be a defect in libyang 1.0.240 (https://github.com/CESNET/libyang/issues/1847) we would like to use libyang 2.0. Saw there is a parameter "NETOPEER2_VERSION_2X" for building netconf-polt with libyang 2.0. Change the command line to below.
make NETOPEER2_VERSION_2X=y NETCONF_SERVER=y NO_BAL=n TR451_VOMCI_POLT=n SIMULATION_BUILD=n
It is true sysrepo 2.0.1 and libyang 2.0.7 is used with NETOPEER2_VERSION_2X=y. During the build there is below error reported. Could you help a check if I missed anything? Is this the correct command line for enabling libyang 2.0? Thanks a lot!
[100%] Linking C executable notif_subscribe_example
/usr/bin/ld: warning: libyang.so.1, needed by ../libsysrepo.so.6.0.1, may conflict with libyang.so.2
[100%] Built target notif_subscribe_example
Install the project...
-- Install configuration: "Debug"
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/lib/libsysrepo.so.6.0.1
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/lib/libsysrepo.so.6
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/lib/libsysrepo.so
-- Set runtime path of "/home/georgede/rje/netconf-polt-master/build/fs/lib/libsysrepo.so.6.0.1" to ""
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo_types.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/values.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/xpath.h
-- Up-to-date: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo.h
-- Up-to-date: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo_types.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo/version.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo/values.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/include/sysrepo/xpath.h
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl
-- Set runtime path of "/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl" to ""
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepocfg
-- Set runtime path of "/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepocfg" to ""
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepo-plugind
-- Set runtime path of "/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepo-plugind" to ""
-- Installing: /home/georgede/rje/netconf-polt-master/build/fs/lib/pkgconfig/sysrepo.pc
[ 31%] Built target sysrepo_2.0.1
Scanning dependencies of target yang-models-push-scheduled-changes
[ 32%] Generating<EMAIL_ADDRESS>/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install<EMAIL_ADDRESS>-a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
<EMAIL_ADDRESS>imported to sysrepo
[ 32%] Generating .bbf-qos-composite-filters.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-qos-composite-filters.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-qos-composite-filters.yang imported to sysrepo
[ 32%] Generating .bbf-hardware-rpf-dpu-state.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-hardware-rpf-dpu-state.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-hardware-rpf-dpu-state.yang imported to sysrepo
[ 33%] Generating .ieee802-dot1x.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/ieee802-dot1x.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/ieee802-dot1x.yang imported to sysrepo
[ 33%] Generating .bbf-alarm-types.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-alarm-types.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-alarm-types.yang imported to sysrepo
[ 33%] Generating .bbf-xpon-power-management.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-xpon-power-management.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --change bbf-xpon-power-management -a --enable-feature xpon-power-management
/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-xpon-power-management.yang imported to sysrepo
[ 33%] Generating .bbf-l2-forwarding-shared-fdb.installed
/home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepotool.sh /home/georgede/rje/netconf-polt-master/build/fs/bin/sysrepoctl --install /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-l2-forwarding-shared-fdb.yang -a --search-dirs /home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang:/home/georgede/rje/netconf-polt-master/third_party/yang-models/IETF_IANA
[ERR]: Invalid absolute-schema-nodeid nametest "if:interfaces" - prefix "if" not defined in module "bbf-l2-forwarding".
sysrepoctl error: Failed to install module "/home/georgede/rje/netconf-polt-master/third_party/yang-models/OB-BAA-standard-olt-adapter/2.0/yang/bbf-l2-forwarding-shared-fdb.yang" (libyang error)
For more details you may try to increase the verbosity up to "-v3".
third_party/yang-models/CMakeFiles/yang-models-push-scheduled-changes.dir/build.make:1244: recipe for target 'third_party/yang-models/.bbf-l2-forwarding-shared-fdb.installed' failed
make[3]: *** [third_party/yang-models/.bbf-l2-forwarding-shared-fdb.installed] Error 1
CMakeFiles/Makefile2:1879: recipe for target 'third_party/yang-models/CMakeFiles/yang-models-push-scheduled-changes.dir/all' failed
make[2]: *** [third_party/yang-models/CMakeFiles/yang-models-push-scheduled-changes.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:137: recipe for target 'host' failed
make: *** [host] Error 2
Br
George

Hi George,
You need to download from develop branch, not master.
Regards,
Igor

Hi Igor, thanks a lot for the notes. yeah, with devel branch it can build successfully. Br, George Deng

Hi Igor,
From the commit history the netconf-polt devel branch has changes in recent one month.
Could you share your comments whether the devel branch is ready for use? Is it stable enough?
Would like to hear your professional advice on this so as to make a decision for upgrading or not.
Appreciate much.
Br
George Deng

Hi George,
BBF uses the same codebase & netopeer2 version for a while now (in obbaa-polt-simulator) and didn't report any problems.
BR
-Igor

Hi Igor,
Thanks for your comments, this info is helpful to make a decision.
I am playing around with netconf-polt devlop branch which has a combination of netopeer2-2.1.16, libnetconf2-2.1.7, libyang-2.0.164, sysrepo-2.1.42.
During testing bbf-software-management.yang one libyang-2.0.164 issue is discovered. I wrote a ticket to github libyang team https://github.com/CESNET/libyang/issues/1853 ,  libyang expert thinks a fix for this issue may be available in libyang develop branch and suggests upgrading to the develop branch.
I am not ready to upgrade for now yet. So would like to check with you if you ever saw this issue and have a libyang fix ready.
Br
George Deng

Hi George,
I didn't encounter the issue.
Regards,
Igor
On Wed, May 25, 2022 at 10:52 AM dengguochen2003 @.***>
wrote:

Hi Igor,
Thanks for your comments, this info is helpful to make a decision.
I am playing around with netconf-polt devlop branch which has a
combination of netopeer2-2.1.16, libnetconf2-2.1.7, libyang-2.0.164,
sysrepo-2.1.42.
During testing bbf-software-management.yang one libyang-2.0.164 issue is
discovered. I wrote a ticket to github libyang team CESNET/libyang#1853
https://github.com/CESNET/libyang/issues/1853 , libyang expert thinks a
fix for this issue may be available in libyang develop branch and suggests
upgrading to the develop branch.
I am not ready to upgrade for now yet. So would like to check with you if
you ever saw this issue and have a libyang fix ready.
Br
George Deng
—
Reply to this email directly, view it on GitHub
https://github.com/balapi/netconf-polt/issues/12#issuecomment-1136573152,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEX4KW637BKNDZ3KYEMJAE3VLV2UDANCNFSM5WOSZD5A
.
You are receiving this because you commented.Message ID:
@.***>

--
This electronic communication and the information and any files transmitted
with it, or attached to it, are confidential and are intended solely for
the use of the individual or entity to whom it is addressed and may contain
information that is confidential, legally privileged, protected by privacy
laws, or otherwise restricted from disclosure to anyone else. If you are
not the intended recipient or the person responsible for delivering the
e-mail to the intended recipient, you are hereby notified that any use,
copying, distributing, dissemination, forwarding, printing, or copying of
this e-mail is strictly prohibited. If you received this e-mail in error,
please return the e-mail to the sender, delete it from your computer, and
destroy any printed copy of it.


Added opa-profile

What is this PR About?
Adds tests to collect profile data on the rego performance. CI also executes test and stores output
Related to: https://github.com/redhat-cop/rego-policies/issues/96
Requires before merging: https://github.com/redhat-cop/github-actions/pull/30
How do we test this?
bats _test/opa-profile.sh
cc: @redhat-cop/rego-policies

/lgtm


Fixes a typo Depend -> Depends (#597)

PR Checklist

[x] Have you followed the guidelines in CONTRIBUTING.md?
[x] Have you got 100% test coverage on new code?
[x] Have you updated the prose documentation?
[x] Have you updated the reference documentation?

@all-contributors add @ReznikovRoman docs


Update BoringSSL to 2e68a05c9943a8dec1758d4a393b2ae906fd3295

Also update the vendor script to pass an explicit destination

@swift-server-bot test this please


different colors for diferent query params "multiphrase search"

different colors for diferent query params;
ex. query ["search 1" , "search2"]
adds m0 m1 class to corresponding match.
highlight.m0{
background:green
}
highlight.m1{
background:red
}

Thanks for the patch, however this is unfortunately not a feature that we'll consider adding (and the actual implementation feel slightly "hacky").
Please keep in mind that the built-in Firefox PDF Viewer is the primary development target here, where this sort of feature isn't really needed.


Err: table id xxx: invalid table id, no corresponding table map event

What did you do?
start task with relay
What did you expect to see?
task runs as normal
What did you see instead?
Err: table id xxx: invalid table id, no corresponding table map event
https://github.com/pingcap/tiflow/issues/5731#issuecomment-1191226079
Versions of the cluster
DM version (run dmctl -V or dm-worker -V or dm-master -V):
nightly

current status of DM cluster (execute query-status <task-name> in dmctl)
(paste current status of DM cluster here)

task will retry with remote binlog

[2022-08-01T15:08:24.870Z]                         "errors": [

[2022-08-01T15:08:24.870Z]                             {

[2022-08-01T15:08:24.870Z]                                 "ErrCode": 36069,

[2022-08-01T15:08:24.870Z]                                 "ErrClass": "sync-unit",

[2022-08-01T15:08:24.870Z]                                 "ErrScope": "upstream",

[2022-08-01T15:08:24.870Z]                                 "ErrLevel": "high",

[2022-08-01T15:08:24.870Z]                                 "Message": "get binlog event error: [code=11038:class=functional:scope=internal:level=high], Message: parse relay log file dm-integration-test-go1180-8458-vlf20-gch73-bin.000001 from offset 4 in dir /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001: parse relay log file dm-integration-test-go1180-8458-vlf20-gch73-bin.000001 from offset 3681 in dir /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001: parse relay log file /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001/dm-integration-test-go1180-8458-vlf20-gch73-bin.000001, RawCause: Header \u0026replication.EventHeader{Timestamp:0x62e7ec4d, EventType:0x1e, ServerID:0x1, EventSize:0x3a, LogPos:0xe61, Flags:0x0}, Data \"k\\x02\\x00\\x00\\x00\\x00\\x01\\x00\\x02\\x00\\x03\\xff\\x00\\x84\\x1a\\x06\\x00\\x00\\x00\\x00\\x00\\x06410004\\x06420004\", Err: table id 619: invalid table id, no corresponding table map event",

[2022-08-01T15:08:24.870Z]                                 "RawCause": "",

[2022-08-01T15:08:24.870Z]                                 "Workaround": "Please check if the binlog file could be parsed by `mysqlbinlog`."

[2022-08-01T15:08:24.870Z]                             }

[2022-08-01T15:08:24.870Z]                         ],

https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/8458/pipeline

[2022-08-01T15:08:24.870Z]                         "errors": [

[2022-08-01T15:08:24.870Z]                             {

[2022-08-01T15:08:24.870Z]                                 "ErrCode": 36069,

[2022-08-01T15:08:24.870Z]                                 "ErrClass": "sync-unit",

[2022-08-01T15:08:24.870Z]                                 "ErrScope": "upstream",

[2022-08-01T15:08:24.870Z]                                 "ErrLevel": "high",

[2022-08-01T15:08:24.870Z]                                 "Message": "get binlog event error: [code=11038:class=functional:scope=internal:level=high], Message: parse relay log file dm-integration-test-go1180-8458-vlf20-gch73-bin.000001 from offset 4 in dir /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001: parse relay log file dm-integration-test-go1180-8458-vlf20-gch73-bin.000001 from offset 3681 in dir /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001: parse relay log file /tmp/dm_test/sequence_sharding_optimistic/worker2/relay_log/7ad31c83-11a9-11ed-8db2-c2cb83fdf274.000001/dm-integration-test-go1180-8458-vlf20-gch73-bin.000001, RawCause: Header \u0026replication.EventHeader{Timestamp:0x62e7ec4d, EventType:0x1e, ServerID:0x1, EventSize:0x3a, LogPos:0xe61, Flags:0x0}, Data \"k\\x02\\x00\\x00\\x00\\x00\\x01\\x00\\x02\\x00\\x03\\xff\\x00\\x84\\x1a\\x06\\x00\\x00\\x00\\x00\\x00\\x06410004\\x06420004\", Err: table id 619: invalid table id, no corresponding table map event",

[2022-08-01T15:08:24.870Z]                                 "RawCause": "",

[2022-08-01T15:08:24.870Z]                                 "Workaround": "Please check if the binlog file could be parsed by `mysqlbinlog`."

[2022-08-01T15:08:24.870Z]                             }

[2022-08-01T15:08:24.870Z]                         ],

https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/8458/pipeline

in this integration test, task are frequently paused and resumed by failpoint, "relay log switch to remote binlog" has a cooldown so the error remains.

For the cause of "invalid table id", found that
[2022-08-01T15:07:56.657Z] restart dm-worker1

[2022-08-01T15:07:56.657Z] process dm-worker1 already exit

[2022-08-01T15:07:56.657Z] [Mon Aug  1 23:07:56 CST 2022] <<<<<< START DM-WORKER on port 8262, config: /home/jenkins/agent/workspace/dm_ghpr_integration_test/go/src/github.com/pingcap/tiflow/dm/tests/sequence_sharding_optimistic/conf/dm-worker1.toml >>>>>>

but
dm-worker exit 2022-08-01 23:08:00.049842502 +0800 CST m=+12.956042139

Worker exits too slowly, there're two writers to write relay log


Concurrency Problem Fix

Rewritten StatefulStatus, ScalaTestStatefulStatus and AsyncOutcome without synchronized calls, this fixes the problem as reported here:
https://github.com/scalatest/scalatest/issues/1605
Note: I think we shall backport this to 3.0.x.

Superseded by another PR submitted by @bvenners , which is now merged into master.


[NVIDIA] Throw an error for unsupported bias shape when cudnn backend is used in nn.dot_product_attention

Address the issue reported in here.
cc. @sbodenstein

I’ve implemented a new change that defines custom VJP rules and batching rules to validate the bias shape in both bprop and vmap usage.

Thanks!
Why do we need primitives here, rather than just custom_vjp? It seems like the only action is in autodiff rules...

Hi @mattjj , the primary purpose of the custom primitives is the custom batcher bias_bwd_batch_rule. We want to throw an error only when the bias has a singleton batch size and d_bias is required.
Yes, for checking the existence of d_bias, using custom_vjp should suffice. However, checking the batch size is more complex because users may utilize vmap, where the actual batch size can only be obtained from the custom batcher.

Gentle ping. @mattjj @sbodenstein