fix: Load main language when initial language is locale specific

In order to support locals resolving feature from i18next we need to load the main language of the locale-specific initial language.
Here is the use case:
The website supports the fr language however there is a legal related copy that only apply to France.
By creating a folder /locales/fr-FR we can add these locale-specific copies in there and make i18next fall back to the general /locales/fr language for the keys that it doesn't find on the specific folder.
ps: I implemented this in a way that doesn't impact the current usage. So if you only use global languages ( fr, en, de, etc..) nothing changes.

Hey @lucasfeliciano, nice to hear from you. Are you using regional locales with next-i18next somewhere in production? I was under the assumption that this simply didn't work.
I think the changes required to properly support regional locales would be much more involved in this, and include considerations like localeSubpaths, etc.

Hey @isaachinman!
It's not in production yet, however, I'm working on this now and it is working ~properly~.
The only problem that I found was that once the javascript takes over the server side rendered document ( which is translated correctly ) it replaces the keys that are missing from the locale-specific translations with the fallback language since the main language is not loaded therefor is not served together with the initial store.
This pr changes this behaviour and add the necessary languages. And it is working like a charm, at least for my requirements ( we don't use localeSubpaths ), however, I don't understand why the problem with localeSubpaths + regional locales. What do experience?

The main problem with this is that we do not explicitly support regional locales at the moment. This PR would add "halfway" support, but would lead to future problems.
What if locale subpaths ended up looking like this:
myapp.com/en-us
myapp.com/en-gb

If that were the case, we specifically wouldn't want to load in multiple locales. I think the general misunderstanding here is that a regional locale is some sort of subset of a language-generic locale. In my understanding, that is not true at all - a locale is a distinct entity.
To achieve the behaviour you want, you'd either need to:

Maintain regional locales as "full locales"
Switch over your fallback language so that en-GB falls back to en (for example)

Let's keep discussing and figure out a solution!

I think the general misunderstanding here is that a regional locale is some sort of subset of a language-generic locale.

I don't agree with that, most of the cases regional locale is used to represent a regional way of expression or grammar.
The simplest example is English from GB and US with words like localise and localize.
If one is not a subset of the other we will have to maintain a lot of duplicated translations keys just to support a few translation keys that have these differences.
I think this is a broader discussion that have general discussion and not related to the implementation.
https://www.i18next.com/overview/configuration-options#languages-namespaces-resources

I think the general misunderstanding here is that a regional locale is some sort of subset of a language-generic locale.

I don't agree with that, most of the cases regional locale is used to represent a regional way of expression or grammar.
The simplest example is English from GB and US with words like localise and localize.
If one is not a subset of the other we will have to maintain a lot of duplicated translations keys just to support a few translation keys that have these differences.
I think this is a broader discussion that has an impact further than this project so we need to follow standards in this matter.

If that were the case, we specifically wouldn't want to load in multiple locales.

We don't have to i18next has an option to let the user decide what he wants to load.
We can pass the load option and i18next will take care of it. This is working already and the default is all so it will load all the regional and general language by default.
More details here:
https://www.i18next.com/overview/configuration-options#languages-namespaces-resources
And here is an example of the config that I'm passing when instantiating next-i18next
{
  defaultLanguage: 'en',
  fallbackLng: 'en',
  otherLanguages: ['nl', 'de', 'fr', 'fr-FR', 'hu', 'es'],
  load: 'all',
  serverLanguageDetection: true,
  customDetectors: [languageByDomainDetector],
  localeSubpaths: 'none',
  detection: {
    order: ['querystring', 'domain'],
  },
}

It works as expected and like a charm :)

Yup, that'll work because you're passing load: 'all'. Unfortunately, regional locales do directly affect our implementation of localeSubpaths and I'm not really sure what to do about that.
In the end, it might be easier to require users to simply pass in a mapping of locales to routes, eg:
{
    defaultLanguage: 'en',
    fallbackLng: 'en',
    otherLanguages: ['nl', 'de', 'fr', 'fr-FR'],
    localeSubpaths: {
        'nl': 'nl',
        'de': 'de',
        'fr': 'fr'
        'fr-FR': 'custom-france-subpath'
    }
}

I think we can merge this PR as a short term measure so that you're not blocked, but I do think we need a more holistic approach in general to locales and subpaths.

Thanks!
I have some ideas on how to make it work with subpaths I'll create an issue after react europe with some proposals.

I'll create an issue after react europe with some proposals and ideas

That would be great - thanks. Enjoy!


Add technical specs page

Should this go at the bottom of the page instead?

Can we take this content and put it in a new page called Coin Specs? There's even a place reserved for it in the footer.

@rehrar I think if it is moved to a new page it should be called Technical Specifications.
Sent from my Google Nexus 6 using FastHub

Thanks to all for the feedback!

moved to separate page
linked from the footer
renamed to "Technical Specs" (the "Technical Specifications" was a bit to long for the links)

Added the "no premine" chapter to directly address this question: https://www.reddit.com/r/Monero/comments/3rya3e/what_are_the_basic_parameterscharacteristics_of/

Given that nature of the cryptocurrency space at the moment, I almost think we should specifically mention that there was no token sale or funding stage as that's specifically a different type of pre-mine and it's something that makes Monero stick out. A lot of people are philosophically opposed to pre-sales, so having that info later might help them make a quicker decision about Monero.

Thanks @QuickBASIC! Please review my attempt to address that. Also added privacy features specs.

Thanks a lot for the approvals. I just made the difficulty retarget more precise by adding "based on the last 720 blocks, excluding 20% of the timestamp outliers".

Please rebase

Rebased.


Binding Errror with last Xamarin Forms

Hi,
I just update the new release of Xamarin.Forms v<IP_ADDRESS>1375 and i got an error using
CarouselView.ItemTemplate
No property, bindable property, or event found for 'ItemTemplate', or mismatching type between value and property.
Seems to be they change something because i have similar error with another plugins respect binding property
Thanks

@Cali03 hi, do you call CardsViewRenderer.Preserve()  ?

Hi @AndreiMisiukevich, yes i did. All was working like a charm untill today. They publish the new Xamarin.Forms 9 hours ago. Did you try it?

@Cali03 not yet.
Probably we should post issue to them.
It's super strange

@Cali03 try via code maybe?

@AndreiMisiukevich yes it very strange and like i say i got same error with another plugins (Iconize and SegmentedControl) but i downgrade Xamarin.Forms and all works.
Just hope it's a real issue and don't create that for nothing.
try via code maybe? don't unterstand that ...

@Cali03 try to set binding through the code :)
carousel.SetBinding(...)
:)

@AndreiMisiukevich ok i will try it.
I can tell you that I was able to remove the error for the SegmentedControl Plugin using x:StaticRessource for color properties, instead of generic colors like White, Gray or Blue.

Same issue for me as well after update...

Think this is related to what is also causing this https://github.com/xamarin/Xamarin.Forms/issues/6375
We are working on correcting it. Apologies.

@davidortinau
thanks for participation David

closed as XF bug


fix npe

In some  cases like
PerpetualCache delegate = new PerpetualCache("12312");
BlockingCache cache = new BlockingCache(delegate);
cache.putObject("abc", "def");

it may throw NullPointerException, because the variable lock in method releaseLock may be null

I think that the presumption is that MyBatis calls getObject() first.
Are you actually getting NPE in your application?
If that is the case, please create a small example project and upload it to your GitHub repo.
We need to reproduce the exception first.

I've closed this because no reply.


New package: QTL v0.1.6

Registering package: QTL
Repository: https://github.com/xijiang/QTL.jl
Created by: @xijiang
Version: v0.1.6
Commit: bda19f7da1528fc1437e9e40fb998aa5f7de5ef8
Git reference: HEAD
Description: About quantitative genetics

Now only the name is an issue. I am wondering if this package can be manually pushed?

Anything else that I can do to have this QTL package registered?

To me, the name of your package (QTL) does not accurately describe what the package does ("about quantitative genetics").  As a quantitative geneticist myself, I would urge you to either rename the package or more precisely define what your package does. I am assuming QTL is a reference to Quantitative Trait Loci.
There are several Julia package performing QTL mapping including the OpenMendel project (which has several packages).  My group has three packages doing some kind of QTL mapping: FaSTLMM, LiteQTL, FlxQTL.

The current plan is not to include QTL mapping. Instead, since QTL is also central for genomic selection and breeding, this package was intended to include as many breeding relevant algorithms as possible. For example, population simulation, G matrix construction, its approximate inverse, matrix I/O, breeding value evaluations, and various Bayesian method. It also include some functions that are used frequently in my group. Maybe it looks ambitious, but Julia is such a powerful language and young, it is worth a try.
Maybe I can add my initials to the name, like xyQTL.
Anyway, I have been using qtl as my penname for nearly 20 years, such as twitter, and one of oldest Chinese website. If QTL is not a go still, I will try a new name.

Thank you for clarifying your long-term plans.  I agree that Julia is fantastic for your goals.
To better guide potential users such as myself, I suggest making your intentions clear from the package name.  Perhaps GenomicSelection, 'GeneticBreeding`, or 'GenomicSelectionBreeding?


Fix issue with Add Step slot replacement

There is a new bug with the slot replacement after Append Step was added.
Steps to reproduce:

Create a multi-step integration using the YAML editor, or use the one loaded by default.
Delete the first step (source).
Open the catalog.
Drag a source step onto the "Add Step" slot.

The UI breaks, see screenshot below.

Also, we should add E2E tests to ensure this doesn't happen again.

This would likely be resolved with the following: https://github.com/KaotoIO/kaoto-backend/issues/46

https://github.com/KaotoIO/kaoto-backend/pull/47


[fix] HTML template issue.

fixed HTML template issue (templates from cache not sent as HTML). simple refactor. allow for log level (debug, default is false) to be set per message. nodemailer package.json version is 0.1.20

+1 HTML emails not being sent as HTML are killing me :(


Add german translation

This adds german translation for all currently available strings in resources/lang.
It seems there aren't used strings throughout the whole app because of which the translation is incomplete here and there.

👍


Implemented Builder pattern for create node of Ali-cloud

This Pull Request is based on PR#77
link to Issue#78

@shlokgilda Yes of course. Thank you. There is a constant value const errCommon in pakage ecs. I think the private value errCommon which user does not need to use it directly, and does not need to know. Maybe we don't have to put private values in the API document.


Can't launch Simulator from Xcode 9

got this error message:
dyld: Library not loaded: @rpath/Differentiator.framework/Differentiator
after i updated Xcode, i do carthage update. and this thing shows up:
*** Building scheme "Differentiator" in RxDataSources.xcworkspace
but i can't find this framework in the build folder for carthage, any suggestions?

Have no idea, it should be there.

oh, i forgot to mention that i add the --platform ios parameter to carthage update.
would it be the reason? cause there is one library only provide ios version

Hm ...., have no idea, anybody else experiencing this?

+1

Hm,
I'm using carthage 0.26.2 and carthage build --no-skip-current --platform ios works for me.
What carthage version do you have?


Update the configuration of the ArgoCD instance

Enable OpenShift SSO by default
Add custom checks for CP instances for current recipes
Configure ArgoCD instance with tls secret if a default certificate is used

Validated in new env (managed OCP on IBM Cloud)


Cupertino localization step 12: push translation for all supported languages

Fixes #13452
When making change suggestions, please double check in iOS so I can justify it with our translators.

Pending another xml push into TC

pt_PT examples
https://photos.app.goo.gl/121XPagGJbiGS1C46
pt examples
https://photos.app.goo.gl/CV4xU75wqF1n8ZPL7

I'm merging this one in for now. The feedback received will cycle through via another update once the TC translations are internalized.


How to increase CPU usage per executor?

Hi,
I tried to evaluate CaffeOnSpark on CPU mode with Ethernet.
The YARN cluster mode worked fine with my 4 nodes(32 CPU cores per node) environment.
But I observed the CPU usage of each executor only take 3 cores no matter which number of "--executor-cores" is allocated (I've tried 8 and 16).
I also tried to set "-devices NUM" to CaffeOnSpark, but I got fail except the default "-devices 1" on CPU mode.
Could you provide any tips for using more CPU cores per executor? thank you.

For CPU mode, you should try to launch multiple executors per node. To do that, you want to use a small value for --executor-cores.

OK, thanks for your reply.


Implement data structure solution for saving BPMN

As a dev, I'd like to use a nice data structure for our BPMN model in our SSoT.

:thought_balloon: Hints & Thoughts
Dependent on #51

:white_check_mark: Conditions of satisfaction

[ ] Should be able to parse code from a BPMN model
[ ] Should order activities (2->1) correctly even if created in different order (1,2)
[ ] Supports activities and the BPMN flow (without XOR & AND | #53 #46 )
[ ] Refactor BPMN-saving to be more modular for upcoming changes

Will be closed because it was divided into the three issues (#96 #97 #98 ).

Will be closed because it was divided into the three issues (#96 #97 #98 ).


Benchmark results for storage to SSD with/without liburing

Hello, here are some benchmark results I have compiled for disk storage with/without liburing testing both buffered and direct IO.
Kernel: 6.7
file system: xfs
disk : nvme ssd
CPU: 48 thread AMD
The benchmark essentially takes a series of small buffers, does some work on each buffer, then stores the results to disk. fsync is called at the end. Unfortunately, liburing is slightly slower than blocking I/O
The benchmark project itself can be found here.
Note : 0 or 1 below represents false or true
Run with concurrency = 2, store to disk = 0, direct = 0, use uring = 0
 : 6213.034517 ms
Run with concurrency = 2, store to disk = 1, direct = 0, use uring = 0
 : 6194.979951 ms
Run with concurrency = 2, store to disk = 1, direct = 0, use uring = 1
 : 6635.473980 ms
Run with concurrency = 2, store to disk = 1, direct = 1, use uring = 0
 : 5723.335242 ms
Run with concurrency = 2, store to disk = 1, direct = 1, use uring = 1
 : 5159.495408 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 4, store to disk = 0, direct = 0, use uring = 0
 : 2668.155356 ms
Run with concurrency = 4, store to disk = 1, direct = 0, use uring = 0
 : 3611.529825 ms
Run with concurrency = 4, store to disk = 1, direct = 0, use uring = 1
 : 3696.223504 ms
Run with concurrency = 4, store to disk = 1, direct = 1, use uring = 0
 : 2901.635248 ms
Run with concurrency = 4, store to disk = 1, direct = 1, use uring = 1
 : 2663.072939 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 6, store to disk = 0, direct = 0, use uring = 0
 : 1723.227584 ms
Run with concurrency = 6, store to disk = 1, direct = 0, use uring = 0
 : 2666.758831 ms
Run with concurrency = 6, store to disk = 1, direct = 0, use uring = 1
 : 2632.156388 ms
Run with concurrency = 6, store to disk = 1, direct = 1, use uring = 0
 : 1981.299622 ms
Run with concurrency = 6, store to disk = 1, direct = 1, use uring = 1
 : 1807.754762 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 8, store to disk = 0, direct = 0, use uring = 0
 : 1330.179655 ms
Run with concurrency = 8, store to disk = 1, direct = 0, use uring = 0
 : 2095.117032 ms
Run with concurrency = 8, store to disk = 1, direct = 0, use uring = 1
 : 2122.957382 ms
Run with concurrency = 8, store to disk = 1, direct = 1, use uring = 0
 : 1523.161476 ms
Run with concurrency = 8, store to disk = 1, direct = 1, use uring = 1
 : 1367.067723 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 10, store to disk = 0, direct = 0, use uring = 0
 : 1061.972147 ms
Run with concurrency = 10, store to disk = 1, direct = 0, use uring = 0
 : 1899.936051 ms
Run with concurrency = 10, store to disk = 1, direct = 0, use uring = 1
 : 1877.989199 ms
Run with concurrency = 10, store to disk = 1, direct = 1, use uring = 0
 : 1244.832314 ms
Run with concurrency = 10, store to disk = 1, direct = 1, use uring = 1
 : 1099.402518 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 12, store to disk = 0, direct = 0, use uring = 0
 : 874.523286 ms
Run with concurrency = 12, store to disk = 1, direct = 0, use uring = 0
 : 1701.024333 ms
Run with concurrency = 12, store to disk = 1, direct = 0, use uring = 1
 : 1649.511243 ms
Run with concurrency = 12, store to disk = 1, direct = 1, use uring = 0
 : 1064.506254 ms
Run with concurrency = 12, store to disk = 1, direct = 1, use uring = 1
 : 932.916314 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 14, store to disk = 0, direct = 0, use uring = 0
 : 778.916140 ms
Run with concurrency = 14, store to disk = 1, direct = 0, use uring = 0
 : 1538.574320 ms
Run with concurrency = 14, store to disk = 1, direct = 0, use uring = 1
 : 1497.650033 ms
Run with concurrency = 14, store to disk = 1, direct = 1, use uring = 0
 : 946.505283 ms
Run with concurrency = 14, store to disk = 1, direct = 1, use uring = 1
 : 872.751521 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 16, store to disk = 0, direct = 0, use uring = 0
 : 669.623079 ms
Run with concurrency = 16, store to disk = 1, direct = 0, use uring = 0
 : 1424.179659 ms
Run with concurrency = 16, store to disk = 1, direct = 0, use uring = 1
 : 1458.929794 ms
Run with concurrency = 16, store to disk = 1, direct = 1, use uring = 0
 : 879.752639 ms
Run with concurrency = 16, store to disk = 1, direct = 1, use uring = 1
 : 987.317027 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 18, store to disk = 0, direct = 0, use uring = 0
 : 611.685649 ms
Run with concurrency = 18, store to disk = 1, direct = 0, use uring = 0
 : 2418.678168 ms
Run with concurrency = 18, store to disk = 1, direct = 0, use uring = 1
 : 1459.609819 ms
Run with concurrency = 18, store to disk = 1, direct = 1, use uring = 0
 : 865.681722 ms
Run with concurrency = 18, store to disk = 1, direct = 1, use uring = 1
 : 884.537595 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 20, store to disk = 0, direct = 0, use uring = 0
 : 572.201385 ms
Run with concurrency = 20, store to disk = 1, direct = 0, use uring = 0
 : 2631.481062 ms
Run with concurrency = 20, store to disk = 1, direct = 0, use uring = 1
 : 1380.879326 ms
Run with concurrency = 20, store to disk = 1, direct = 1, use uring = 0
 : 875.950846 ms
Run with concurrency = 20, store to disk = 1, direct = 1, use uring = 1
 : 872.418497 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 22, store to disk = 0, direct = 0, use uring = 0
 : 518.975461 ms
Run with concurrency = 22, store to disk = 1, direct = 0, use uring = 0
 : 1281.144535 ms
Run with concurrency = 22, store to disk = 1, direct = 0, use uring = 1
 : 1341.479703 ms
Run with concurrency = 22, store to disk = 1, direct = 1, use uring = 0
 : 861.209592 ms
Run with concurrency = 22, store to disk = 1, direct = 1, use uring = 1
 : 890.015725 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 24, store to disk = 0, direct = 0, use uring = 0
 : 486.925149 ms
Run with concurrency = 24, store to disk = 1, direct = 0, use uring = 0
 : 1262.528753 ms
Run with concurrency = 24, store to disk = 1, direct = 0, use uring = 1
 : 1267.014048 ms
Run with concurrency = 24, store to disk = 1, direct = 1, use uring = 0
 : 873.210672 ms
Run with concurrency = 24, store to disk = 1, direct = 1, use uring = 1
 : 908.068466 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 26, store to disk = 0, direct = 0, use uring = 0
 : 466.603771 ms
Run with concurrency = 26, store to disk = 1, direct = 0, use uring = 0
 : 1252.972816 ms
Run with concurrency = 26, store to disk = 1, direct = 0, use uring = 1
 : 1282.536363 ms
Run with concurrency = 26, store to disk = 1, direct = 1, use uring = 0
 : 858.094422 ms
Run with concurrency = 26, store to disk = 1, direct = 1, use uring = 1
 : 889.864092 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 28, store to disk = 0, direct = 0, use uring = 0
 : 454.630329 ms
Run with concurrency = 28, store to disk = 1, direct = 0, use uring = 0
 : 1201.286920 ms
Run with concurrency = 28, store to disk = 1, direct = 0, use uring = 1
 : 1232.661758 ms
Run with concurrency = 28, store to disk = 1, direct = 1, use uring = 0
 : 875.786470 ms
Run with concurrency = 28, store to disk = 1, direct = 1, use uring = 1
 : 922.097025 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 30, store to disk = 0, direct = 0, use uring = 0
 : 495.070279 ms
Run with concurrency = 30, store to disk = 1, direct = 0, use uring = 0
 : 1206.026119 ms
Run with concurrency = 30, store to disk = 1, direct = 0, use uring = 1
 : 1223.569305 ms
Run with concurrency = 30, store to disk = 1, direct = 1, use uring = 0
 : 874.067966 ms
Run with concurrency = 30, store to disk = 1, direct = 1, use uring = 1
 : 929.383958 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 32, store to disk = 0, direct = 0, use uring = 0
 : 435.855607 ms
Run with concurrency = 32, store to disk = 1, direct = 0, use uring = 0
 : 1216.080516 ms
Run with concurrency = 32, store to disk = 1, direct = 0, use uring = 1
 : 1223.707928 ms
Run with concurrency = 32, store to disk = 1, direct = 1, use uring = 0
 : 871.715323 ms
Run with concurrency = 32, store to disk = 1, direct = 1, use uring = 1
 : 936.795530 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 34, store to disk = 0, direct = 0, use uring = 0
 : 427.075910 ms
Run with concurrency = 34, store to disk = 1, direct = 0, use uring = 0
 : 1216.118478 ms
Run with concurrency = 34, store to disk = 1, direct = 0, use uring = 1
 : 1227.662183 ms
Run with concurrency = 34, store to disk = 1, direct = 1, use uring = 0
 : 870.027497 ms
Run with concurrency = 34, store to disk = 1, direct = 1, use uring = 1
 : 947.928060 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 36, store to disk = 0, direct = 0, use uring = 0
 : 436.021254 ms
Run with concurrency = 36, store to disk = 1, direct = 0, use uring = 0
 : 1222.277052 ms
Run with concurrency = 36, store to disk = 1, direct = 0, use uring = 1
 : 1226.627501 ms
Run with concurrency = 36, store to disk = 1, direct = 1, use uring = 0
 : 874.256454 ms
Run with concurrency = 36, store to disk = 1, direct = 1, use uring = 1
 : 949.608522 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 38, store to disk = 0, direct = 0, use uring = 0
 : 426.193849 ms
Run with concurrency = 38, store to disk = 1, direct = 0, use uring = 0
 : 1133.525446 ms
Run with concurrency = 38, store to disk = 1, direct = 0, use uring = 1
 : 1247.804088 ms
Run with concurrency = 38, store to disk = 1, direct = 1, use uring = 0
 : 878.324956 ms
Run with concurrency = 38, store to disk = 1, direct = 1, use uring = 1
 : 937.863404 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 40, store to disk = 0, direct = 0, use uring = 0
 : 431.698457 ms
Run with concurrency = 40, store to disk = 1, direct = 0, use uring = 0
 : 1131.224651 ms
Run with concurrency = 40, store to disk = 1, direct = 0, use uring = 1
 : 1246.924182 ms
Run with concurrency = 40, store to disk = 1, direct = 1, use uring = 0
 : 874.366975 ms
Run with concurrency = 40, store to disk = 1, direct = 1, use uring = 1
 : 947.108277 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 42, store to disk = 0, direct = 0, use uring = 0
 : 422.130728 ms
Run with concurrency = 42, store to disk = 1, direct = 0, use uring = 0
 : 1130.728607 ms
Run with concurrency = 42, store to disk = 1, direct = 0, use uring = 1
 : 1243.905110 ms
Run with concurrency = 42, store to disk = 1, direct = 1, use uring = 0
 : 897.637893 ms
Run with concurrency = 42, store to disk = 1, direct = 1, use uring = 1
 : 914.732763 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 44, store to disk = 0, direct = 0, use uring = 0
 : 420.690524 ms
Run with concurrency = 44, store to disk = 1, direct = 0, use uring = 0
 : 1275.922281 ms
Run with concurrency = 44, store to disk = 1, direct = 0, use uring = 1
 : 1285.821973 ms
Run with concurrency = 44, store to disk = 1, direct = 1, use uring = 0
 : 885.540083 ms
Run with concurrency = 44, store to disk = 1, direct = 1, use uring = 1
 : 997.991546 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 46, store to disk = 0, direct = 0, use uring = 0
 : 419.765191 ms
Run with concurrency = 46, store to disk = 1, direct = 0, use uring = 0
 : 1275.787164 ms
Run with concurrency = 46, store to disk = 1, direct = 0, use uring = 1
 : 1303.099823 ms
Run with concurrency = 46, store to disk = 1, direct = 1, use uring = 0
 : 891.274178 ms
Run with concurrency = 46, store to disk = 1, direct = 1, use uring = 1
 : 956.722336 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run with concurrency = 48, store to disk = 0, direct = 0, use uring = 0
 : 417.375889 ms
Run with concurrency = 48, store to disk = 1, direct = 0, use uring = 0
 : 1305.577293 ms
Run with concurrency = 48, store to disk = 1, direct = 0, use uring = 1
 : 1437.136640 ms
Run with concurrency = 48, store to disk = 1, direct = 1, use uring = 0
 : 896.589395 ms
Run with concurrency = 48, store to disk = 1, direct = 1, use uring = 1
 : 999.392985 ms
\\\\\\\\\\\\\\\\\\\\\\\\\\\

What is concurrency for non io_uring? Are you comparing 1 thread for io_uring vs multiple threads for the other one?

What is concurrency for non io_uring? Are you comparing 1 thread for io_uring vs multiple threads for the other one?

0/1 represents true/false.
For example
Run with concurrency = 48, store to disk = 1, direct = 1, use uring = 1
 : 999.392985 ms

represents 48 threads each working small buffers and then queuing the buffers for storage with uring using O_DIRECT

So, let me confirm, "concurrency = 2, use uring = 1" means there are 2 threads, each thread has an io_uring instance, and each thread keep one request inflight, i.e. QD=1? Similar to this:
void thread_fn(ring) {
	while (1) {
		sqe = get_sqe();
		prep_write(sqe);
		io_uring_submit(ring);

		cqe = io_uring_wait();
		handle(cqe);
	}
}

So, let me confirm, "concurrency = 2, use uring = 1" means there are 2 threads, each thread has an io_uring instance, and each thread keep one request inflight, i.e. QD=1? Similar to this:
void thread_fn(ring) {
	while (1) {
		sqe = get_sqe();
		prep_write(sqe);
		io_uring_submit(ring);

		cqe = io_uring_wait();
		handle(cqe);
	}
}

All serializing theads share the same uring queue
See code below: the first thread will create a queue, and all the others will share that queue.
bool FileIOUring::initQueue(uint32_t shared_ring_fd)
{
	if (shared_ring_fd){
		struct io_uring_params p;
		memset(&p, 0, sizeof(p));
		p.flags = IORING_SETUP_ATTACH_WQ;
		p.wq_fd = shared_ring_fd;
		int ret = io_uring_queue_init_params(QD, &ring, &p);
		if (ret < 0) {
			printf("io_uring_queue_init_params: %s\n", strerror(-ret));
			close();
			return false;
		}

	} else {
		int ret = io_uring_queue_init(QD, &ring, 0);
		if(ret < 0)
		{
			printf("io_uring_queue_init: %s\n", strerror(-ret));
			close();
			return false;
		}
	}

	return true;
}

Do you have a reproducer?

This is a moderately complex C++ project. If you're interested, I can share it with you.

Please do share it - even if it's complicated, just being able to run what you are running, tracing will often tell us a lot about how it's done without needing to fully read and comprehend the sample program.

Great, here is the project.

And please include also how you are running it. The goal is to make this as trivial as possible for someone to reproduce :-)

I've added an INSTALL file here that details how to run with default settings.

It would be nice if simple benchmarks was added to example/benchmark this way other people can test to see how Liburing runs on their systems! It would also help with comparing different languages implementing Liburing as well.

@YoSTEALTH, not in liburing per se, but for storage there is fio/t/io_uring, someone may even adapt it to liburing and submit a patch

@boxerab, hopefully we'll find time to look at it, but I suspect the comparison is not apple to apples without even really looking at numbers. When you compare synchronous with asynchronous, it's usually either:
a) There are N threads in both cases, and both run QD1 per thread (i.e. one requests is executing in parallel per thread). In this case the asynchronous inteface basically runs synchronously, which is not good.
b) The asynchronous interface runs just 1 thread but QD=N, i.e. executes all requests in parallel. In this case the async interface may likely lose in throughput and/or latency, but the key is that it takes much less CPU.
And I don't understand which case is yours. There can be more options, a combination of previous two, or for instance N threads generate IO requests, send them to a single IO thread, which executes it via io_uring. But a lot would depend on how it actually implemented.

b) The asynchronous interface runs just 1 thread but QD=N, i.e. executes all requests in parallel. In this case the async interface may likely lose in throughput and/or latency, but the key is that it takes much less CPU.

This is how the benchmark works, but QD=4 for all concurrency levels.  Perhaps it should match the concurrency.
I will measure CPU usage for each configuration and see how that looks.

Here are results comparing CPU usage for uring and synchronous with O_DIRECT. Timing and CPU usage are both identical.
$ /usr/bin/time -v ./iobench  -c 48 -d -s
Run with concurrency = 48, store to disk = true, direct = true, use uring = false
 : 930.559021 ms
	Command being timed: "./iobench -c 48 -d -s"
	User time (seconds): 19.41
	System time (seconds): 0.99
	Percent of CPU this job got: 2104%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.97
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 170112
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 44275
	Voluntary context switches: 3386
	Involuntary context switches: 169
	Swaps: 0
	File system inputs: 8
	File system outputs: 5500888
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

$ /usr/bin/time -v ./iobench  -c 48 -d
Run with concurrency = 48, store to disk = true, direct = true, use uring = true
 : 939.254022 ms
	Command being timed: "./iobench -c 48 -d"
	User time (seconds): 17.72
	System time (seconds): 3.56
	Percent of CPU this job got: 2084%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.02
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1618560
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 405925
	Voluntary context switches: 22384
	Involuntary context switches: 6744
	Swaps: 0
	File system inputs: 8
	File system outputs: 5500888
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

I've found the same issue in https://github.com/axboe/liburing/issues/912 . And they havn't resolved it until now. I've just tested the same test with the newest liburing on Ubuntu with kernel6.8.5.

@zhengshuxin you should re-open this issue if still broken.

They closed the issue, and I thought they maybe have solved it. But when I tested it again, found the issue was sitll existing. I wrote a very simple demo to test it in https://github.com/acl-dev/demo/tree/master/c/file , anyone can use it to test the liburing's write performance for file IO.

I think the process reading small data frrom file by liburing  maybe also be low efficient. And I'll write one simple demo to verify it.


shardwise zip streaming datasets

zips streaming datasets

Adding on to Ravi's comments, I would like it if we can somehow auto-detect if the remote directory is compressed, and also maintain user readability of file types (000007.mds vs. 000007.mds.gz). Anything we can do to avoid adding more args to the StreamingDataset init signature would be much appreciated :)


merge dev to master

In progress
Following are the changes to be mentioned:

fixed slideWidth calculation approximation
fixed unusual scrolls in focusOnSelect mode
added appendDots method for customization of dots
modified logic for handling odd/even cases where there were unusual scrolls in opposite direction
implemented unslick feature properly
fixed variableWidth issues like blank spaces at edges, improper alignment
handling focus loss in case of fade=true
responsive lazyloading bug fixed
increased verticalswiping resistance from 4 to 10

FYI, this likely does the following:
Fixes #94
Fixes #221
Fixes #556


fix(pointcloud_preprocessor): fix arrayIndexThenCheck warning

Description
This is a fix based on cppcheck arrayIndexThenCheck warning
sensing/pointcloud_preprocessor/src/outlier_filter/dual_return_outlier_filter_nodelet.cpp:234:36: style: Array index 'current_deleted_index' is used before limits check. [arrayIndexThenCheck]
      while ((uint)deleted_azimuths[current_deleted_index] <
                                   ^

You know the current implementation is correct.
This fix is just to avoid cppcheck warning by changing the evaluation order in while loop condition.
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Interface changes

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@badai-nguyen
The original code probably has a the bug of current_deleted_index < (deleted_azimuths.size() - 1), which is weird if the size is equal to 1. Is this a bug?


Print lightwalletd output during integration test

Motivation

Zebra currently consumes all of lightwalletd's output during the integration test. It would be useful to have that output also sent to the standard output so that debugging any issues is easier.
Related Work

Hey team! Please add your planning poker estimate with ZenHub @conradoplg @dconnolly @jvff @oxarbitrage @teor2345 @upbqdn


routing+routerrpc+lnrpc: add option to use mc in queryroutes

A boolean flag is added to the QueryRoutes rpc that allows feeding mission control probabilities into path finding.
This pr builds on #3298

I just gave it a try. The first route had a temporary channel failure. Immediately afterwards the same route was returned by QueryRoutes, so I didn't see any change by mission control. Please tell me how to debug this, I'd be happy to help.

What I think happened is: It did work, but the reason the same route was returned was because it was still the route with the highest probability (although very low).
In SendPayment we apply a minimum probability. If the best route is below that, we give up.
Modified this PR to also apply that minimum probability to QueryRoutes with UseMissionControl is true.

Same issue. With the code from this PR I get a route, resulting in a temporary channel failure. Running QueryRoutes again returns the same route.
With my code, ignoring based on the channel failure, I get a different route.

I failed to reproduce in the following set up on regtest: A -> B -> C.  The B has 100k sat balance on the B->C channel.

queryroutes for 200k sat from A -> C.
sendtoroute using that route -> fails because TempChannelFailure
queryroutes again for 200k from A -> C: unable to find path to destination.

This is the behavior that I'd expect.
Do you have more detailed steps? One thing about TempChannelFailure is that it only takes out the channel only for amounts that are at least the failing amount. So if it fails for 200k sat, it is only blacklisted for values >=200 k sat.

Note to self: use_mc doesn't work fully until all mission control state is globalized. Currently the second try logic still resides in the payment session.

Rebased onto first part of #3164

Needs a rebase.

rebased

Yeah, makes sense. Could move it later if we need to mock it in the router
package.
On Wed, Jul 17, 2019, 19:30 Joost Jager<EMAIL_ADDRESS>wrote:

@joostjager commented on this pull request.
In lnrpc/routerrpc/router_backend.go
https://github.com/lightningnetwork/lnd/pull/3221#discussion_r304554381:

@@ -55,6 +55,22 @@ type RouterBackend struct {
Tower routing.ControlTower
}

+// MissionControl defines the mission control dependencies of routerrpc.
+type MissionControl interface {
We could, but these are routerrpc's specific requirements for a mission
control.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lightningnetwork/lnd/pull/3221?email_source=notifications&email_token=AA4XLZEKFV44HUDGG3T3WDLP75JKHA5CNFSM4HZGJXA2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB6YDL7I#discussion_r304554381,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4XLZG5OUEMZB5BRHLAXFLP75JKHANCNFSM4HZGJXAQ
.

Needs rebase

rebased


WIP leaf decay

Wow!

Let's take this chance to backport the "leaves placed by players never decay" change. Make bit 0x8 set on BlockPlaced and skip decay if that bit is set.

Okay.


AutoEmbeddingComposite failing for BINARY problems

Now this is extremely weird:
>>> aec = AutoEmbeddingComposite(DWaveSampler())
>>> aec.sample(dimod.BQM({}, {(0, 1): 1}, 0, 'BINARY'))
...
ValueError: Problem graph incompatible with solver.

vs.
>>> aec = AutoEmbeddingComposite(DWaveSampler())
>>> aec.sample(dimod.BQM({}, {(0, 1): 1}, 0, 'SPIN'))
SampleSet(rec.array([([-1,  1], -1., 1, 0.)], ...

The only difference being vartype.

Good bug!


FINERACT-1374: Withdraw-charge-discount

Description
Describe the changes made and why they were made.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/api-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@rrpawar96 @BLasan
I would like to say that i have already done a funtional (user) test and its working fine.
What we need to add in the next PR is Deposit charges to be added on the list of charge time type

@rrpawar96  Please address comment by @ptuomola above...
Trying to reopen to trigger Travis.

@ptuomola , @awasum Yes I was testing with different scenarios which will also be sync with issue FINERACT-1390 debug it as soonest.

@ptuomola, Requesting you to re-review this PR.

All the runs are failing on the same test ie testApplyAnnualFeeForSavingsJobOutcome()
Can you reproduce the failure locally and see what's going on? As this change is about fees, I'm wondering if it has broken something...

All the runs are failing on the same test ie testApplyAnnualFeeForSavingsJobOutcome()
Can you reproduce the failure locally and see what's going on? As this change is about fees, I'm wondering if it has broken something...

Sure, I will check on it locally

@ptuomola I have kept a separate commit of fix test-case to ease review once approved will merge into it.

@rrpawar96 looks good and all the tests pass. If you can squash the commits, I can then merge the PR.


godocs for client are out of date

We should remove most of or all of BatchPoints, as the line protocol doesn't support shared parameters, and we should also remove or annotate SetPrecision until #3044 is resolved.

Might get repurposed for the ! addition to the line protocol to allow for batching. Closing this in favor of that idea. @corylanou, @toddboom says you were gonna open a new issue for the line protocol syntax extension.


PNS Executor input/output artifacts "Failed to determine pid for containerID"

Summary
I'm using the PNS executor in order to execute a workflow that only copies a file from input to output bucket in minio.
The Workflow copies the file correctly into the output bucket but the wait container fails with the following error:

Failed to determine pid for containerID xxxxxxxxxxx: container may have exited too quickly

Even the workaround with sleep and an emptyDir volume doesn't seems to work in this case.
I added a sleep of 60 seconds for the container and workdir as an emptyDir
Environment
Argo: v2.11.1
Kubernetes: v1.11.0+d4cacc0
Openshift: v3.11.0+1c3e643-87
Workflow
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  finalizers:
  - sensor-controller
  generation: 1
  name: minio
spec:
  dependencies:
  - eventName: input
    eventSourceName: minio
    name: dep-minio
  template:
    metadata: {}
    serviceAccountName: argo-events-sa
  triggers:
  - template:
      name: minio-workflow-trigger
      k8s:
        version: v1alpha1
        group: argoproj.io
        operation: create
        parameters:
        - dest: spec.templates.1.inputs.artifacts.0.s3.key
          src:
            dataKey: notification.0.s3.object.key
            dependencyName: dep-minio
        - dest: spec.templates.1.outputs.artifacts.0.s3.key
          src:
            dataKey: notification.0.s3.object.key
            dependencyName: dep-minio
        resource: workflows
        source:
          resource:
            apiVersion: argoproj.io/v1alpha1
            kind: Workflow
            metadata:
              generateName: artifact-workflow-
              namespace: argo
            spec:
              entrypoint: file-move
              serviceAccountName: argo-workflow
              shareProcessNamespace: true
              volumes:
              - emptyDir: {}
                name: workdir
              templates:
              - name: file-move
                steps:
                - - name: input-output
                    template: input-output
              - container:
                  args:
                  - sleep 60; cowsay Moved file to output
                  command:
                  - sh
                  - -c
                  image: docker/whalesay:latest
                  name: whalesay
                  volumeMounts:
                  - mountPath: /files
                    name: workdir
                inputs:
                  artifacts:
                  - name: get-artifact
                    path: /files/artifact.file
                    s3:
                      accessKeySecret:
                        key: accesskey
                        name: minio
                      bucket: input
                      endpoint: minio:9000
                      insecure: true
                      key: THIS_WILL_BE_REPLACED
                      secretKeySecret:
                        key: secretkey
                        name: minio
                name: input-output
                outputs:
                  artifacts:
                  - name: save-artifact
                    path: /files/artifact.file
                    s3:
                      accessKeySecret:
                        key: accesskey
                        name: minio
                      bucket: output
                      endpoint: minio:9000
                      insecure: true
                      key: THIS_WILL_BE_REPLACED
                      secretKeySecret:
                        key: secretkey
                        name: minio

Logs
Pod wait container
oc logs artifact-workflow-wp2fd-788754573 -c wait
time="2020-10-07T12:17:45.341Z" level=info msg="Starting Workflow Executor" version=v2.11.1
time="2020-10-07T12:17:45.346Z" level=info msg="Creating PNS executor (namespace: argo, pod: artifact-workflow-wp2fd-788754573, pid: 29, hasOutputs: true)"
time="2020-10-07T12:17:45.346Z" level=info msg="Executor (version: v2.11.1, build_date: 2020-09-29T17:32:49Z) initialized (pod: argo/artifact-workflow-wp2fd-788754573) with template:\n{\"name\":\"input-output\",\"arguments\":{},\"inputs\":{\"artifacts\":[{\"name\":\"get-artifact\",\"path\":\"/files/artifact.file\",\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"input\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"minio\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"minio\",\"key\":\"secretkey\"},\"key\":\"testfile\"}}]},\"outputs\":{\"artifacts\":[{\"name\":\"save-artifact\",\"path\":\"/files/artifact.file\",\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"output\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"minio\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"minio\",\"key\":\"secretkey\"},\"key\":\"testfile\"}}]},\"metadata\":{},\"container\":{\"name\":\"whalesay\",\"image\":\"docker/whalesay:latest\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 60; cowsay Moved file to output\"],\"resources\":{},\"volumeMounts\":[{\"name\":\"workdir\",\"mountPath\":\"/files\"}]}}"
time="2020-10-07T12:17:45.346Z" level=info msg="Waiting on main container"
time="2020-10-07T12:17:45.347Z" level=warning msg="Polling root processes (1m0s)"
time="2020-10-07T12:17:47.842Z" level=info msg="pid 44: &{root<PHONE_NUMBER>013 {87002644<PHONE_NUMBER>6 0x308cd00} {64768 64 17 16749 0 0 0 0 224 4096 0 {1601987853 692010637} {1548359916 87002644} {1548359916 87002644} [0 0 0]}}"
time="2020-10-07T12:17:47.842Z" level=info msg="Secured filehandle on /proc/44/root"
time="2020-10-07T12:17:47.842Z" level=info msg="containerID docker-ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704 mapped to pid 44"
time="2020-10-07T12:17:47.893Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 473870237} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:47.893Z" level=info msg="Secured filehandle on /proc/44/root"
time="2020-10-07T12:17:47.944Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:47.995Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.046Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.097Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.111Z" level=info msg="main container started with container ID: ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704"
time="2020-10-07T12:17:48.111Z" level=info msg="Starting annotations monitor"
time="2020-10-07T12:17:48.148Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.156Z" level=info msg="Starting deadline monitor"
time="2020-10-07T12:17:48.156Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.156Z" level=warning msg="Failed to wait for container id 'ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704': Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly"
time="2020-10-07T12:17:48.156Z" level=error msg="executor error: Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly\ngithub.com/argoproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/argoproj/argo/errors.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:302\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:164\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:922\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.17.8/pkg/util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:921\ngithub.com/argoproj/argo/cmd/argoexec/commands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:846\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"
time="2020-10-07T12:17:48.157Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2020-10-07T12:17:48.157Z" level=info msg="Capturing script exit code"
time="2020-10-07T12:17:48.157Z" level=info msg="Getting exit code of ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704"
time="2020-10-07T12:17:48.156Z" level=info msg="Annotations monitor stopped"
time="2020-10-07T12:17:48.160Z" level=info msg="No output parameters"
time="2020-10-07T12:17:48.160Z" level=info msg="Saving output artifacts"
time="2020-10-07T12:17:48.160Z" level=info msg="Staging artifact: save-artifact"
time="2020-10-07T12:17:48.160Z" level=info msg="Staging /files/artifact.file from mirrored volume mount /mainctrfs/files/artifact.file"
time="2020-10-07T12:17:48.160Z" level=info msg="Taring /mainctrfs/files/artifact.file"
time="2020-10-07T12:17:48.161Z" level=info msg="Successfully staged /files/artifact.file from mirrored volume mount /mainctrfs/files/artifact.file"
time="2020-10-07T12:17:48.161Z" level=info msg="S3 Save path: /tmp/argo/outputs/artifacts/save-artifact.tgz, key: testfile"
time="2020-10-07T12:17:48.161Z" level=info msg="Creating minio client minio:9000 using static credentials"
time="2020-10-07T12:17:48.161Z" level=info msg="Saving from /tmp/argo/outputs/artifacts/save-artifact.tgz to s3 (endpoint: minio:9000, bucket: output, key: testfile)"
time="2020-10-07T12:17:48.198Z" level=info msg="Successfully saved file: /tmp/argo/outputs/artifacts/save-artifact.tgz"
time="2020-10-07T12:17:48.198Z" level=info msg="Annotating pod with output"
time="2020-10-07T12:17:48.199Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.214Z" level=info msg="Killing sidecars"
time="2020-10-07T12:17:48.233Z" level=info msg="Alloc=7224 TotalAlloc=18328 Sys=70848 NumGC=5 Goroutines=12"
time="2020-10-07T12:17:48.249Z" level=info msg="pid 44: &{root 30<PHONE_NUMBER> {827879797<PHONE_NUMBER>7 0x308cd00} {1048687 302223069 1 16877 0 0 0 0 30 4096 0 {1602073067 941882875} {1602073067 827879797} {1602073067 829879851} [0 0 0]}}"
time="2020-10-07T12:17:48.250Z" level=fatal msg="Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly\ngithub.com/argoproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/argoproj/argo/errors.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:302\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:164\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:922\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.17.8/pkg/util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:921\ngithub.com/argoproj/argo/cmd/argoexec/commands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:846\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"

Describe Pod
oc describe pod artifact-workflow-wp2fd-788754573
Name:               artifact-workflow-wp2fd-788754573
Namespace:          argo
Priority:           0
PriorityClassName:  <none>
Start Time:         Wed, 07 Oct 2020 14:17:40 +0200
Labels:             workflows.argoproj.io/completed=true
                    workflows.argoproj.io/workflow=artifact-workflow-wp2fd
Annotations:        openshift.io/scc=privileged
                    workflows.argoproj.io/node-message=Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly
                    workflows.argoproj.io/node-name=artifact-workflow-wp2fd[0].input-output
                    workflows.argoproj.io/outputs={"artifacts":[{"name":"save-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"output","insecure":true,"accessKeySecret":{"name":"minio","key...
                    workflows.argoproj.io/template={"name":"input-output","arguments":{},"inputs":{"artifacts":[{"name":"get-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"input","insecur...
Status:             Failed
IP:                 <IP_ADDRESS>
Controlled By:      Workflow/artifact-workflow-wp2fd
Init Containers:
  init:
    Container ID:  docker://b7242f8915d6e4085c2a2ab41362b76a03968052f7a7a07d0c8f0a37565f9d20
    Image:         argoproj/argoexec:v2.11.1
    Image ID:      docker-pullable://docker.io/argoproj/argoexec@sha256:574f8eb926820149bc98c4fc6b3c3b48ecdf6046f4f325643024e5684a0653a0
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      init
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 07 Oct 2020 14:17:43 +0200
      Finished:     Wed, 07 Oct 2020 14:17:43 +0200
    Ready:          True
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                    artifact-workflow-wp2fd-788754573 (v1:metadata.name)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:  pns
    Mounts:
      /argo/inputs/artifacts from input-artifacts (rw)
      /argo/podmetadata from podmetadata (rw)
      /argo/secret/minio from minio (ro)
      /mainctrfs/files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-token-wrlgv (ro)
Containers:
  wait:
    Container ID:  docker://576c5ff1bad9bd303783033d3de0a166002083a07c04d80e2bbb67d75330f10c
    Image:         argoproj/argoexec:v2.11.1
    Image ID:      docker-pullable://docker.io/argoproj/argoexec@sha256:574f8eb926820149bc98c4fc6b3c3b48ecdf6046f4f325643024e5684a0653a0
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      wait
    State:          Terminated
      Reason:       Error
      Message:      Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly
      Exit Code:    1
      Started:      Wed, 07 Oct 2020 14:17:45 +0200
      Finished:     Wed, 07 Oct 2020 14:17:48 +0200
    Ready:          False
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                    artifact-workflow-wp2fd-788754573 (v1:metadata.name)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:  pns
    Mounts:
      /argo/podmetadata from podmetadata (rw)
      /argo/secret/minio from minio (ro)
      /mainctrfs/files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-token-wrlgv (ro)
  main:
    Container ID:  docker://ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704
    Image:         docker/whalesay:latest
    Image ID:      docker-pullable://docker.io/docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -c
    Args:
      sleep 60; cowsay Moved file to output
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 07 Oct 2020 14:17:47 +0200
      Finished:     Wed, 07 Oct 2020 14:18:47 +0200
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-token-wrlgv (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  podmetadata:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.annotations -> annotations
  workdir:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  minio:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  minio
    Optional:    false
  input-artifacts:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  argo-workflow-token-wrlgv:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  argo-workflow-token-wrlgv
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  node-role.kubernetes.io/compute=true
Tolerations:     <none>

Any ideas why the workaround is not working or how to fix the problem?

See #1256

I'm confused. Does the node fail?

Yes it fails and as a consequence the whole workflow is considered as failed. But as I said, file was copied and even the whalesay after the sleep was executed correctly.

I'm confused by you config:
shareProcessNamespace: true

Can you share your workflow-controller-configmap?

This is an orphaned parameter that I used when I trail and error with PNS the first time until I reconized that this param is never translated to the Pod and is not documented in argo api. I only missed to remove it. It doesn't affect the problem.
oc describe configmap argo-workflow-controller-configmap
Name:         argo-workflow-controller-configmap
Namespace:    argo
Labels:       app.kubernetes.io/managed-by=Helm
              chart=argo-0.12.1
              heritage=Helm
              release=argo
Annotations:  meta.helm.sh/release-name=argo
              meta.helm.sh/release-namespace=argo

Data
====
config:
----
containerRuntimeExecutor: pns

Events:  <none>

pod.yaml of workflow pod
apiVersion: v1
kind: Pod
metadata:
  annotations:
    openshift.io/scc: privileged
    workflows.argoproj.io/node-message: 'Failed to determine pid for containerID 29b5c3161bfeaa0680ae119da42275486b61e275b33bb02dbfa48b263cce5058:
      container may have exited too quickly'
    workflows.argoproj.io/node-name: artifact-workflow-pzfsz[0].input-output
    workflows.argoproj.io/outputs: '{"artifacts":[{"name":"save-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"output","insecure":true,"accessKeySecret":{"name":"minio","key":"accesskey"},"secretKeySecret":{"name":"minio","key":"secretkey"},"key":"testfile"}}]}'
    workflows.argoproj.io/template: '{"name":"input-output","arguments":{},"inputs":{"artifacts":[{"name":"get-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"input","insecure":true,"accessKeySecret":{"name":"minio","key":"accesskey"},"secretKeySecret":{"name":"minio","key":"secretkey"},"key":"testfile"}}]},"outputs":{"artifacts":[{"name":"save-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"output","insecure":true,"accessKeySecret":{"name":"minio","key":"accesskey"},"secretKeySecret":{"name":"minio","key":"secretkey"},"key":"testfile"}}]},"metadata":{},"container":{"name":"whalesay","image":"docker/whalesay:latest","command":["sh","-c"],"args":["sleep
      60; cowsay Moved file to output"],"resources":{},"volumeMounts":[{"name":"workdir","mountPath":"/files"}]}}'
  creationTimestamp: 2020-10-08T16:24:14Z
  labels:
    workflows.argoproj.io/completed: "true"
    workflows.argoproj.io/workflow: artifact-workflow-pzfsz
  name: artifact-workflow-pzfsz-1999039533
  namespace: argo
  ownerReferences:
  - apiVersion: argoproj.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Workflow
    name: artifact-workflow-pzfsz
    uid: b447e17a-0982-11eb-bc9a-000c293cee32
  resourceVersion: "110495748"
  selfLink: /api/v1/namespaces/argo/pods/artifact-workflow-pzfsz-1999039533
  uid: b44d8fbf-0982-11eb-bc9a-000c293cee32
spec:
  containers:
  - command:
    - argoexec
    - wait
    env:
    - name: ARGO_POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    - name: ARGO_CONTAINER_RUNTIME_EXECUTOR
      value: pns
    image: argoproj/argoexec:v2.11.1
    imagePullPolicy: IfNotPresent
    name: wait
    resources: {}
    securityContext:
      capabilities:
        add:
        - SYS_PTRACE
        - SYS_CHROOT
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /argo/podmetadata
      name: podmetadata
    - mountPath: /argo/secret/minio
      name: minio
      readOnly: true
    - mountPath: /mainctrfs/files
      name: workdir
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: argo-workflow-token-wrlgv
      readOnly: true
  - args:
    - sleep 60; cowsay Moved file to output
    command:
    - sh
    - -c
    image: docker/whalesay:latest
    imagePullPolicy: Always
    name: main
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /files
      name: workdir
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: argo-workflow-token-wrlgv
      readOnly: true
  dnsPolicy: ClusterFirst
  imagePullSecrets:
  - name: argo-workflow-dockercfg-q9grf
  initContainers:
  - command:
    - argoexec
    - init
    env:
    - name: ARGO_POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    - name: ARGO_CONTAINER_RUNTIME_EXECUTOR
      value: pns
    image: argoproj/argoexec:v2.11.1
    imagePullPolicy: IfNotPresent
    name: init
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /argo/podmetadata
      name: podmetadata
    - mountPath: /argo/secret/minio
      name: minio
      readOnly: true
    - mountPath: /argo/inputs/artifacts
      name: input-artifacts
    - mountPath: /mainctrfs/files
      name: workdir
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: argo-workflow-token-wrlgv
      readOnly: true
  nodeSelector:
    node-role.kubernetes.io/compute: "true"
  priority: 0
  restartPolicy: Never
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: argo-workflow
  serviceAccountName: argo-workflow
  shareProcessNamespace: true
  terminationGracePeriodSeconds: 30
  volumes:
  - downwardAPI:
      defaultMode: 420
      items:
      - fieldRef:
          apiVersion: v1
          fieldPath: metadata.annotations
        path: annotations
    name: podmetadata
  - emptyDir: {}
    name: workdir
  - name: minio
    secret:
      defaultMode: 420
      items:
      - key: accesskey
        path: accesskey
      - key: secretkey
        path: secretkey
      secretName: minio
  - emptyDir: {}
    name: input-artifacts
  - name: argo-workflow-token-wrlgv
    secret:
      defaultMode: 420
      secretName: argo-workflow-token-wrlgv
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: 2020-10-08T16:24:17Z
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: 2020-10-08T16:24:22Z
    message: 'containers with unready status: [wait main]'
    reason: ContainersNotReady
    status: "False"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: null
    message: 'containers with unready status: [wait main]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: 2020-10-08T16:24:14Z
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://29b5c3161bfeaa0680ae119da42275486b61e275b33bb02dbfa48b263cce5058
    image: docker.io/docker/whalesay:latest
    imageID: docker-pullable://docker.io/docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
    lastState: {}
    name: main
    ready: false
    restartCount: 0
    state:
      terminated:
        containerID: docker://29b5c3161bfeaa0680ae119da42275486b61e275b33bb02dbfa48b263cce5058
        exitCode: 0
        finishedAt: 2020-10-08T16:25:20Z
        reason: Completed
        startedAt: 2020-10-08T16:24:20Z
  - containerID: docker://dd8cba39cf76562619d757e2b238186028917be902c8b453d41db453bd73d340
    image: docker.io/argoproj/argoexec:v2.11.1
    imageID: docker-pullable://docker.io/argoproj/argoexec@sha256:574f8eb926820149bc98c4fc6b3c3b48ecdf6046f4f325643024e5684a0653a0
    lastState: {}
    name: wait
    ready: false
    restartCount: 0
    state:
      terminated:
        containerID: docker://dd8cba39cf76562619d757e2b238186028917be902c8b453d41db453bd73d340
        exitCode: 1
        finishedAt: 2020-10-08T16:24:21Z
        message: 'Failed to determine pid for containerID 29b5c3161bfeaa0680ae119da42275486b61e275b33bb02dbfa48b263cce5058:
          container may have exited too quickly'
        reason: Error
        startedAt: 2020-10-08T16:24:18Z
  initContainerStatuses:
  - containerID: docker://f1170413aa906154d1cd4f98b0999d7aef4664e0de35f57b1889a0e15ce93640
    image: docker.io/argoproj/argoexec:v2.11.1
    imageID: docker-pullable://docker.io/argoproj/argoexec@sha256:574f8eb926820149bc98c4fc6b3c3b48ecdf6046f4f325643024e5684a0653a0
    lastState: {}
    name: init
    ready: true
    restartCount: 0
    state:
      terminated:
        containerID: docker://f1170413aa906154d1cd4f98b0999d7aef4664e0de35f57b1889a0e15ce93640
        exitCode: 0
        finishedAt: 2020-10-08T16:24:17Z
        reason: Completed
        startedAt: 2020-10-08T16:24:17Z
  phase: Failed
  podIP: <IP_ADDRESS>
  qosClass: BestEffort
  startTime: 2020-10-08T16:24:14Z

Maybe the root cause is like https://github.com/argoproj/argo/issues/4302

There are a strange prefix before containerId:
time="2020-10-07T12:17:47.842Z" level=info msg="containerID docker-ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704 mapped to pid 44"

time="2020-10-07T12:17:48.156Z" level=warning msg="Failed to wait for container id 'ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704': Failed to determine pid for containerID ca132c75cb328d11851cb4d817c2534c2a34aa4ac742bb3ffed56fd5d1bb6704: container may have exited too quickly"

@iamcnx can you show me the content of file /proc/{container-main-process-pid}/cgroup inside container? It seems the issue is related to https://github.com/argoproj/argo/issues/4302

@cy-zheng It seems that you are right.
oc exec artifact-workflow-8hghb-3357359043 -c main -- ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
1001          1      0  0 15:12 ?        00:00:00 /usr/bin/pod
root         46      0  0 15:12 ?        00:00:00 sh -c sleep 120; cowsay Moved file to output
root         52     46  0 15:12 ?        00:00:00 sleep 120
root         54      0  0 15:13 ?        00:00:00 ps -ef
oc exec artifact-workflow-8hghb-3357359043 -c main -- cat /proc/46/cgroup
11:devices:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
10:pids:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
9:blkio:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
8:memory:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
7:cpuset:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
6:freezer:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
5:perf_event:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
4:net_prio,net_cls:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
3:hugetlb:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
2:cpuacct,cpu:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope
1:name=systemd:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podb1fc495b_179d_11eb_bc9a_000c293cee32.slice/docker-b60ef56f3a848675e6e3e8e6a3a0540bb47ca860b46ec27ad3b5c4fcadd19516.scope

I think this could be fixed coincidentally by #4253. Could you please try argoproj/argoexec:latest?

Nice! It works. Thank you very much :)
Name:               artifact-workflow-tx8x8-3539101276
Namespace:          argo
Priority:           0
PriorityClassName:  <none>
Start Time:         Mon, 26 Oct 2020 18:11:34 +0100
Labels:             workflows.argoproj.io/completed=true
                    workflows.argoproj.io/workflow=artifact-workflow-tx8x8
Annotations:        openshift.io/scc=privileged
                    workflows.argoproj.io/node-name=artifact-workflow-tx8x8[0].input-output
                    workflows.argoproj.io/outputs={"artifacts":[{"name":"save-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"output","insecure":true,"accessKeySecret":{"name":"minio","key...
                    workflows.argoproj.io/template={"name":"input-output","arguments":{},"inputs":{"artifacts":[{"name":"get-artifact","path":"/files/artifact.file","s3":{"endpoint":"minio:9000","bucket":"input","insecur...
Status:             Succeeded
IP:                 <IP_ADDRESS>
Controlled By:      Workflow/artifact-workflow-tx8x8
Init Containers:
  init:
    Container ID:  docker://7966f26e6b1d50238b17c57875ce3a06a89f1137a01d343c202a65f0c6ca5066
    Image:         argoproj/argoexec:latest
    Image ID:      docker-pullable://docker.io/argoproj/argoexec@sha256:319cdb0b4c09b948cfe6ef081baedd351f86f170758474f2089c94ec2b1a0a25
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      init
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Mon, 26 Oct 2020 18:11:48 +0100
      Finished:     Mon, 26 Oct 2020 18:11:49 +0100
    Ready:          True
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                    artifact-workflow-tx8x8-3539101276 (v1:metadata.name)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:  pns
    Mounts:
      /argo/inputs/artifacts from input-artifacts (rw)
      /argo/podmetadata from podmetadata (rw)
      /argo/secret/minio from minio (ro)
      /mainctrfs/files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-sa-token-nttrj (ro)
Containers:
  wait:
    Container ID:  docker://2529a1c72b4b3802a3b8de5983961024e158f003d8070646054cc4bf06a3c40f
    Image:         argoproj/argoexec:latest
    Image ID:      docker-pullable://docker.io/argoproj/argoexec@sha256:319cdb0b4c09b948cfe6ef081baedd351f86f170758474f2089c94ec2b1a0a25
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      wait
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Mon, 26 Oct 2020 18:11:52 +0100
      Finished:     Mon, 26 Oct 2020 18:13:54 +0100
    Ready:          False
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                    artifact-workflow-tx8x8-3539101276 (v1:metadata.name)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:  pns
    Mounts:
      /argo/podmetadata from podmetadata (rw)
      /argo/secret/minio from minio (ro)
      /mainctrfs/files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-sa-token-nttrj (ro)
  main:
    Container ID:  docker://611c45c91105837aa758af83079d831c8c67be5965ab4a1581262d15cf944543
    Image:         docker/whalesay:latest
    Image ID:      docker-pullable://docker.io/docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -c
    Args:
      sleep 120; cowsay Moved file to output
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Mon, 26 Oct 2020 18:11:53 +0100
      Finished:     Mon, 26 Oct 2020 18:13:53 +0100
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /files from workdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from argo-workflow-sa-token-nttrj (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  podmetadata:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.annotations -> annotations
  workdir:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  minio:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  minio
    Optional:    false
  input-artifacts:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  argo-workflow-sa-token-nttrj:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  argo-workflow-sa-token-nttrj
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  node-role.kubernetes.io/compute=true
Tolerations:     <none>


State "[Sound] Get Current Input Device" not working

STR:

Install latest WinTools plugin version 241
Close and reopen Touch Portal
Have two audio input devices.
Device 1 is currently default device (confirmed via Windows Sound Control Panel - Recording tab).
Create Touch Portal button with event to update button text each cycle, set value to ${value:KillerBOSS.TP.Plugins.Sound.CurrentInputDevice}.
Button updates successfully, but shows device 2.
In Windows, change default input audio device successfully to device 2, wait a minute, change back to device 1.
Button value never shows device 1 correctly, just keeps showing device 2.

I was building a button to detect current default input device and toggle between device 1 and 2, but I am not able to, as the ${value:KillerBOSS.TP.Plugins.Sound.CurrentInputDevice} value is not accurate.

Sorry. This plugin no longer supports audio switching. as this feature moved to Win-MediaMixer plugin.


Forces login

Thanks for sharing this. However, it might not be current. It seems to force logging in, but errors if tried.
Edit: I think it's due to the form not being public

Yeah it makes sense that it would not work if the form is private.


Remove left over WFLY-2139 cruft

Core - Full Integration Build 722 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Linux Build 1461 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Windows Build 1119 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Linux Build 1461 outcome was FAILURE using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests failed: 1 (1 new), passed: 3075, ignored: 65 Build time: 0:18:51
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.domain.suites.OperationTransformationTestCase.test: <no details avaliable>

Windows Build 1119 outcome was SUCCESS using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests passed: 3076, ignored: 65 Build time: 0:21:41

Core - Full Integration Build 722 outcome was SUCCESS using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests passed: 2838, ignored: 416 Build time: 0:52:28

retest this please

Core - Full Integration Build 724 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Linux Build 1463 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Windows Build 1121 is now running using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99

Linux Build 1463 outcome was SUCCESS using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests passed: 3076, ignored: 65 Build time: 0:21:39

Windows Build 1121 outcome was SUCCESS using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests passed: 3076, ignored: 65 Build time: 0:21:40

Core - Full Integration Build 724 outcome was FAILURE using a merge of 46b88ca3d8669db3f8b893af2ca1765e5639cb99
Summary: Tests failed: 41 (41 new), passed: 2796, ignored: 416, muted: 1 Build time: 0:52:00
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).failoverOnStop: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).nestedBeanFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).connectionFactoryFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).jmsConnectionFactoryFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).noFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).simpleFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulTimeoutTestCase(SYNC-tcp).timeout: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.xpc.StatefulWithXPCFailoverTestCase(SYNC-tcp).testBasicXPC: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.xpc.StatefulWithXPCFailoverTestCase(SYNC-tcp).testSecondLevelCache: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.remote.RemoteFailoverTestCase(SYNC-tcp).testSecureStatelessFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.remote.RemoteFailoverTestCase(SYNC-tcp).testStatelessFailover: <no details avaliable>

##### there are 31 more failed tests, see build details


fix: email example

Fixed the example of linking to email under the "Get in touch" section of the theme @lekoarts/gatsby-theme-cara. Now the link can be correctly opened.

Hey! Thanks so much for opening a pull request!
The change you’ve proposed is not going to be accepted because this change doesn't meaningfully improve docs, fix a bug, or otherwise improve functionality. This is just really be meant to be a placeholder and the email is obviously made up and not working, so a mailto is really necessary here :)
Thanks again, and we look forward to seeing more PRs from you in the future! :muscle::purple_heart:

Hey! Thanks so much for opening a pull request!
The change you’ve proposed is not going to be accepted because this change doesn't meaningfully improve docs, fix a bug, or otherwise improve functionality. This is just really be meant to be a placeholder and the email is obviously made up and not working, so a mailto is really necessary here :)
Thanks again, and we look forward to seeing more PRs from you in the future! :muscle::purple_heart:


How to build patchwork++ without using open3d？

It is too difficult to install open3d Library in Windows environment. I want to know how to build your algorithm without open3d! I hope you can help me, thank you!

Hi @YangkoC, which language will you use to operate Patchwork++? Python or C++?

python

I will open a branch, 10-how-to-build-patchwork++-without-using-open3d, for a week. It doesn't have any dependency on Open3D. Also, it only works on Python. But, you must be aware that you cannot visualize the ground segmentation result in this branch.
By the way, I suggest you try to install Open3D in Windows and build the version updated on the master. I find that Open3D supports Windows10 environment as written in this link.

OK, thank you very much for your help! I will try to install Open3D again


Removing myself from a few code-owner directories

There are some cache directories that had me as a code owner, but I haven't worked on that code in many years.  A couple of recent PRs made it clear to me that I shouldn't be a required reviewer for those directories.
I've also replaced myself with @mivanac in the directory with the SSL extension parameter.  He wrote that code and should be a reviewer for any changes made to it.
Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

Added Mario as a reviewer, since the PR is literally assigning responsibility to him


Signed-off-by: John Floren<EMAIL_ADDRESS>

A bit late, but looks like this PR causes problems on Mac, where the filesystem is case insensitive by default.  Now, if I clone a fresh repo on my mac, it thinks the HB, HI and HX files have been modified.
This is going to be quite off-putting to anyone trying to develop on a mac.

Add them to .gitignore.

At first attempt, that doesn't work.

we made a decision a while back to not work on case-insensitive file systems. Is there any way to remove or change the conflicting names so they work on case-insensitive file systems without needing fixcase? I have no idea.


Array Editor Label

This is a more temporary fix, and will be revisited in my next PR as we refine Item Schema for complex array items


support LV2 Patch plugin input and output for parameter changes

A leftover task from https://github.com/atsushieno/android-audio-plugin-framework/issues/116
As an enhancement for aap-lv2 plugins, we will have to support LV2 Patch protocol in Atom input and output ports when they are supposed to convey plugin parameter changes (rather than ControlPort).

looks like https://github.com/brummer10/Fluida.lv2 can be an example that makes use of LV2 patch and NOT based on JUCE (which does not work as aap-lv2 plugin).


WEBSITE_LOCAL_CACHE_OPTION for App Service in Azure portal

I cannot find WEBSITE_LOCAL_CACHE_OPTION or "Application Settings" in Azure portal. Is this setting still available

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 93f1a8ab-c577-b9e8-b46e-28e0a90a0eae
Version Independent ID: b716dcf9-1faf-fe60-b7be-f2bec92adbb5
Content: Local cache - Azure App Service
Content Source: articles/app-service/overview-local-cache.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@prashantma Thanks for the feedback! We are currently investigating and will update you shortly.

@prashantma Thanks for bringing this to our attention! In your web app click on Configuration under Settings menu > click on add New Application setting > A new window will pop up and now you can add Name as "WEBSITE_LOCAL_CACHE_OPTION" with the value "Always" > tick on deployment slot setting to make it sticky > Click OK > then save.

Having said I will reach out to content author for update on screen shot on this document.


shaderc crashes when built with mingw -O3 and used to compile opengl shaders.

I believe the crash occurs in the glsl optimizer. Only happens with mingw. Tested with msvc, clang ,gcc -its fine there. I know you can probably do nothing about it since its a 3rd party one but still notifying you :). Have a nice day.

You're using GENie or something else? Strict aliasing is disabled for glsl-optimizer in my build scripts.

well I'm using cmake and I added the compiler flag but still the same result.

Ok that's problem with your build system. Build it with: make shaderc with source from master. I'm using MinGW version on Windows exclusively and I'm pretty sure there is no issue.

Ok I will look into it tonight after work :) thanks for the feedback. I will let you know if I find anything.

Hi, So I've been running a few tests and here are my results. Setting the -fno-strict-aliasing flag shaderc still works only with -O0 and -O1, and not with -O2, -O3. So I have to fallback to -O1 on release builds. I see that in your scripts you have a comment about -O2+ -fno-strict-aliasing not working together.


Use JAVA8_HOME for server upgrade

Tested manually. Adding a product test would require depending on the dummy upgrade rpm to have an up to date version of the java detection logic, which it presently does not.
If we want to add a product test for this, we need to come up with a way to ensure the dummy rpm reflects the current state of presto.

looks good

Rebased and pushed


style(CocoaPods): Remove an unnecessary "at all"

Should we mark this as a breaking change as theoretically existing error resolution could be affected?

Should we mark this as a breaking change as theoretically existing error resolution could be affected?

I'm not sure, that would mean that all changes to issue messages would be breaking changes, that seems excessive.


dashboard: Fix dashboard css to accommodate many process types

Wrap process types onto multiple lines instead of allowing a single line
to grow off the page.

LGTM


WSL2 ：OpenGL vendor string: Microsoft Corporation OpenGL renderer string: D3D12 and OpenGL.raw.EGL._errors.EGLError:

Is your feature request related to a problem:
n WSL2, when using EGL for headless rendering, I encounter the error chmod: cannot access '/dev/dri/renderD128': No such file or directory, and after changing permissions, I get the following warnings:
CUDA_VISIBLE_DEVICES: 0
libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libEGL warning: NEEDS EXTENSION: falling back to kms_swrast
libEGL warning: MESA-LOADER: failed to open kms_swrast: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
OpenGL.raw.EGL._errors.EGLError: EGLError(
err = EGL_NOT_INITIALIZED,
baseOperation = eglInitialize,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7fa4e04190c0>,
c_long(0),
c_long(0),
),
result = 0
)
Describe the solution you'd like:
It seems to be because WSL2 uses the D3D12 virtual rendering, and I want to know if it is possible to use a new driver in WSL2 that can directly access the actual GPU.
Describe alternatives you've considered:
I am looking for a mechanism that can initialize the OpenGL context. Without using EGL, when trying to get the GPU ID, it directly throws an error indicating that the OpenGL context cannot be retrieved. I would like a mechanism that makes it easier to use my GPU in WSL2. Thank you.
Additional context:
My GPU does support hardware-accelerated tasks, and it seems that this error occurs when the hardware rendering option is enabled.

In the WSL2 environment, EGL typically accesses GPU-accelerated resources through Mesa or other EGL implementations. If an EGL program currently accesses /dev/dri/renderD128, it uses the standard DRM (Direct Rendering Manager) interface in the Linux environment. This is different from the Direct3D 12 channel provided by /dev/dxg. Is it possible to provide an interface that allows EGL to access the WSLg virtual DXG?


Setup inbound email for rasterfoundry.com domain

Before this can occur, the hosted zone for rasterfoundry.com needs to be recreated by Terraform. Afterwards, there should be a catch-all email address for the rasterfoundry.com domain.

@jmorrison1847, does it make sense for these messages to funnel into your inbox or should we distribute it somewhere else?

Yeah, maybe emails can cc Tyler as well?


Remove extra dbatools.dll file

We likely moved the library when we went to core and didn't clean the old library

Tests pass on Windows and Linux, merging.


Consider adding option to disable HMR error overlay

I've added some 3rd party packages that are causing TypeScript compilation errors. As such, the HMR overlay is popping up on every HMR bundle injection. I tried moving those packages to the vendor output bundle (thinking this would prevent them from being recompiled every time I saved one of my own files -- isn't that the point of the vendor bundle???) but the overlay is still displayed every time I save.
Is there a way to suppress the HMR overlay until the 3rd party deps get fixed. The below link describes how to do it but I'm not sure how to translate it into this project (does the HMR config code live in aspnet-webpack-react?)
https://github.com/glenjamin/webpack-hot-middleware#config

overlay - Set to false to disable the DOM-based client-side overlay.

thinking this would prevent them from being recompiled every time I saved one of my own files

Yes, that is what happens. But if your compiled vendor bundle contains errors, they are still going to show up each time it's loaded.

Is there a way to suppress the HMR overlay until the 3rd party deps get fixed.

Done. I've just published aspnet-webpack version 1.0.17, so upgrade to that. Then you can optionally specify your webpack-hot-middleware/client options manually in webpack.config.js. For example, change your entry config value to this:
entry: { 'main-client': ['webpack-hot-middleware/client?overlay=false', './ClientApp/boot-client.ts'] },

... and then you won't get the overlay. You probably only want to do this in development builds (because you don't want HMR in production) so you might want to wrap that part of your config in an if(isDevBuild) { ... }` test or similar.

Done. I've just published aspnet-webpack version 1.0.17

Wow, you are quick! Did you already have that one in your back pocket? :)
I'll give it a shot. Thanks, Steve

Well, it does suppress the overlay, but it still doesn't hot reload my own stuff.

Sounds like HMR is running but has some incompatibility with apollo-client. I'm afraid this is something you'll have to take up with the apollo-client or Webpack folks :(


Mass updates for workshop

Changes made:

Introduced basic mosaic pipeline tutorial
Updated aperture photometry tutorial to clean it up and use new image file + catalog
Moved astrocut notebook to the correct path
Updated romanisim tutorial to include dithering and dask parallelization

Still to do:

Finish integrating notebooks together within workflows
Continue simulating files (subset of files with fixed dither pattern at /grp/roman/SCIENCE_PLATFORM_DATA/AAS_WORKSHOP/ for testing)

Need to make updated L1 files
Update Gaia star catalog search radius to fill WFI footprint

Update spectroscopic data files to roman_datamodels == 0.22.0 version to match platform environment
Update markdown in romancal.ipynb to make it clear it is the exposure pipeline and rename notebook+directory to match
Put markdown notes and code cells to copy files from S3 bucket if user did not run previous notebooks, otherwise use files on disk (cf. aperture photometry for example)
Update data visualization notebook with new input files
Update galaxy shapes notebook with new input files

Tagging @gderosa2004 for visibility.

Merging into main for @gderosa2004 to work off of. Will work on to do list starting 12/30.