TAJO-1565: Simple column name in ORDER BY is failed with 'Ambiguous Column Name Error'

Hi, @babokim .  I used the following sequences for easy testing.
create table t(a int);
insert overwrite into t select 1;
select t2.a from t t1, t t2, t t3 where t1.a=t2.a and t1.a=t3.a order by a;

@dongjoon-hyun OK, I will test this patch using TPC-DC queries.

We need to have some discussion on this feature. In this case, as @dongjoon-hyun said, the column in the order-by clause can be identified as the column in the select clause. However, IMO, we need have a general rule to handle this issue. Do you guys have any knowledge about the well-know rules?

Hi, @jihoonson . I'm not sure about that point. If you give me some advice, I will revise this patch in more general form later. What about asking @hyunsik , too?

I think that is the first thing what contributors should do when they take an issue. I'll investigate too.

@jihoonson , up to my knowledge, sorting is based on the result of selection by the SQL definition. In other words, sorting stage is processed after producing the table. So, I added normalizeSort function that look the schema part up first and handle the other cases in pre-defined normalizeSort. I thought it is general. Could you elaborate what you mean? I'm not sure what you mean by general rule.

Hi, @jihoonson . I found a related description in PostgresSQL documentation.
http://www.postgresql.org/docs/9.4/static/queries-order.html
After a query has produced an output table (after the select list has been processed) it can optionally be sorted. If sorting is not chosen, the rows will be returned in an unspecified order. The actual order in that case will depend on the scan and join plan types and the order on disk, but it must not be relied on. A particular output ordering can only be guaranteed if the sort step is explicitly chosen.

Sorry for confusing you. I mean, this issue is related to SQL name resolution rules rather than sort execution.
Basically, when there are two or more columns that have the same name in a SQL, qualifiers must be explicitly specified for those columns. Tajo also follows this rule so far. And now, you are trying to add a new rule.
The general rule means that the new rule should be sufficiently general to handle most cases with a few unavoidable exceptions. So, we need to discuss to design the new rule. Without discussion, people like me can have many questions about the rule. For example, your patch allows to omit the qualifier of a column in the order-by clause if the select clause involves a column of the same name. So, some of my questions are, why this rule focuses on only order-by clause? why does the same rule can be applied to group-by clauses or any other clauses? what happens if the select and order-by clauses involve two or more columns?
I've also checked pgsql. It seems to use this rule for only the order-by clause. I think that we need the exact reason to make a solid rule.
The above quote looks to describe the order-by clause, and not much helpful to investigate this issue.

Oh. Thank you, @jihoonson .Now, I understand more about your concern and what causes disagreement.
First, this issue is related ORDER BY SQL name resolution rules rather than SQL name resolution. The scope is totally different. I think we need to focus what is the meaning of ORDER BY clause. In that sense, please note that "it can optionally be sorted". ORDER BY is defined on the SELECT clause. If you ask 'Why this rule focuses on only order-by clause?', the reason is ORDER BY clause is different from the others.
Second, let me answer your remaining concerns.

Why does the same rule can be applied to group-by clauses or any other clauses? --> We can not. As you know, the other clause affect SELECT clause; e.g. GROUP BY clause will generate aggregate functions on SELECT clause.

What happens if the select and order-by clauses involve two or more columns? --> Each column among them should be need to be resolved independently. In case of multiple matching, we should print out 'Ambiguous Column Name Error' again. I think it is logical. If you agree with this, I will add more codes and testcases for this.

Thank you for you kind guide, again, @jihoonson .

I've never heard "ORDER BY SQL name resolution rules". Is it SQL standard?

What I mean is 'a name resolution rule for SQL order-by clause'. It's a narrow-scoped part of your SQL name resolution rule. I doesn't mean another rule.

By the way, I added a bug-fix code like the following, but it causes test failures. I will investigate it.
-    fieldsByName.put(newCol.getSimpleName(), TUtil.newList(fields.size() - 1));
+    if (fieldsByName.containsKey(newCol.getSimpleName())) {
+      fieldsByName.get(newCol.getSimpleName()).add(fields.size() - 1);
+    } else {
+      fieldsByName.put(newCol.getSimpleName(), TUtil.newList(fields.size() - 1));
+    }

Maybe there are some misunderstandings. I'm not disagreeing on this patch, but need a reference that explains this rule more detailed.
How did you figure out that this rule is applied to only order-by clauses? If you just run several queries on pgsql, it is insufficient.

I got some of your points. You mean that columns in the order-by clause can be identified by the columns in the select clause because order-by is executed after selection. Right?

Ok. I found following quotes from the link you shard.
... A sort_expression can also be the column label or number of an output column, ...

... There is still ambiguity if an ORDER BY item is a simple name that could match either an output column name or a column from the table expression. The output column is used in such cases. This would only cause confusion if you use AS to rename an output column to match some other table column's name.

ORDER BY can be applied to the result of a UNION, INTERSECT, or EXCEPT combination, but in this case it is only permitted to sort by output column names or numbers, not by expressions.

The second quote looks to give a description related to this issue. According to this quote, column labels, expressions, and numbers of each output column can be resolved with the columns in the query's select list.

I've tesed your patch. It looks good to me, but it would be better if you add several test cases.

Thank you, @jihoonson . I will follow your advice!

Hi, @jihoonson . I added a testcase for this issue.

Thanks @dongjoon-hyun. The newly added test looks good, but have a limitation. That is, it cannot test that the qualifier is properly guessed for the simple column name in order-by clause. So, we need a test case to check the query execution result in addition to the plan test.
In addition, I found that this patch cannot handle the case when there are a column and an alias of same name. Please see the following example.
Postgresql
# explain select r_name as n_name from nation, region order by n_name;
                               QUERY PLAN
-------------------------------------------------------------------------
 Sort  (cost=284.00..293.25 rows=3700 width=32)
   Sort Key: region.r_name
   ->  Nested Loop  (cost=0.00..64.71 rows=3700 width=32)
         ->  Seq Scan on nation  (cost=0.00..17.40 rows=740 width=0)
         ->  Materialize  (cost=0.00..1.07 rows=5 width=32)
               ->  Seq Scan on region  (cost=0.00..1.05 rows=5 width=32)
(6 rows)

Tajo
default> explain select r_name as n_name from nation, region order by n_name;
ERROR: Ambiguous column name: n_name

I think that this case also handled in this patch.

Hi, @jihoonson . I found that that was a bug of addColumn ( TAJO-1573 ).
Please see the change of https://github.com/apache/tajo/pull/545 .
It causes getNaturalJoinCondition, verifyProjectedFields, verifyIfTargetsCanBeEvaluated bugs, too. So the theme is different, we had better handle those different issues in a different issue.

Thanks. Unfortunately I have some schedules today. I'll try to review soon.

No problem at all. :)

Ok. If so, we must resolve #545 first. After resolving that issue, you can add test cases.


error on requirements.txt

hello, i searched all over the issues page and over the whole internet, and nothing seems to fix it for me.
when i try ti run requirements.txt i get the folowing output:
http://pastebin.com/izdXiCNP
im using the manual instalation method.
i tryed the automatic instalation with the ./setup.sh and same erro ocurred, im not very good with linux but im trying hard to learn.
tryed uinstall and instaling again requirements.txt
raspberry pi2 =>PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
dev branch of bot
git version 2.1.4
Python Version:
Python 2.7.9
Python 3.5.2

@devilreaper what's the output ?

just updated

are you behind a firewall/proxy?

for me the setup.sh has to be run w/ sudo beforehand or else I get similar errors.


[5.5][build-script] Make lib_InternalSwiftSyntaxParser.dylib and libSwiftScan.dylib fat

Cherry-picks https://github.com/apple/swift/pull/36960 and https://github.com/apple/swift/pull/37565 to release/5.5.

Add an option to recursive-lipo to explicitly specify files to be merged
Even if contained in verbatim-copy directories, and use it for libSwiftScan.
This library is contained in lib/swift/<OS>/, which recursive-lipo assumes contains the stdlib, and other Swift code built fat from the get-go. libSwiftScan is a part of the compiler build, and is therefore built for the host in a given build, which means toolchain installation requries that we use lipo to produce a fat shared library for it.
 Otherwise it ignores lib_InternalSwiftSyntaxParser.dylib.
Resolves rdar://78039407

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 66158f8472436a04b11ad14da6fa085e103eb0b5

@swift-ci test OS X platform


Same Port on one AppGateway - please be more specific

Please be more precise. The documentation states out:
"Multiple site hosting enables you to configure more than one web application on the same port of an application gateway."
BUT - this only applies when you are using the PUBLIC IP Interface. If you use the same pattern (same port, different hostname) in combination with the PRIVATE IP - it does not work (as it is stated out later on in the FAQs -> https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq#can-i-use-the-same-port-for-both-public-facing-and-private-facing-listeners )
Therefore please mention in the text before, that this only applies to the PUBLCI Listener of the AppGateway. The reason i came accross that topic, is that my customer is looking to implement Split-DNS with AppGateway, which currently does NOT work with AppGateway (Same DNS for internal and external access, different IPs, same Port).
Thanks

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

ID: 32e7a4ca-bf44-675a-189d-addc8284e1ab
Version Independent ID: 37e99fb1-3fbd-727a-468e-fe73b6ca13cb
Content: Hosting multiple sites on Azure Application Gateway
Content Source: articles/application-gateway/multiple-site-overview.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: surmb

@vhorne Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Updated
#please-close


Change label from hactoberfest to hacktoberfest and hactoberfest2021 to hacktoberfest2021

'k' is missing in label of the project
@manmeetkr19
see the about section in rightside of screenshot

Corrected, Thanks


Break api/admin/controller/init.py into multiple files

Description
api/admin/controller/__init__.py is currently at 2577 lines long. This PR keeps the code the same, but move the code for most classes out into their own file under the api/admin/controller/ directory. It also makes the same change to the tests so that tests/api/admin/controller matches the layout of api/admin/controller.
Since this changes so many files, it would be nice to get this one merged fairly quickly.
Motivation and Context
The api/admin/controller/__init__.py file was getting pretty unmanageable, it was so large.
How Has This Been Tested?
Running unit tests locally and in CI.
Checklist

[X] I have updated the documentation accordingly.
[X] All new and existing tests passed.

Ugh, for some inscrutable reason renaming these files seems to be causing Py 3.11 to freeze. I'm trying to reproduce this locally so I can debug whats happening.

Hmm... So the tests passed after re-running CI, and they don't fail for me locally on Py 3.11. Other then the imports, no actual code changed on this branch, so the tests should be fine. I think/hope this was just a weird CI hiccup.
I started a full test suite re-run, so we'll see if the issue surfaces again.


Using the Exit End Portal (created by defeating the dragon) causes Inventory loss

First time using github to report a issue, hope its okay.
Describe the bug
When a Player enters a Exit End Portal which is generated after defeating the ender dragon and he returns to the main world (Lobby), the Inventory data is not saved and therefore lost, even when teleporting back into the "World group" the items are still missing along side the exp etc.
To Reproduce
Long explaination: On our Server we currently use Multiverse, and have a Lobby World which has various portals to places etc. we also do have a extra world i will call "ExtraWorld" here.
Since the "Extra World" also should have a nether and the end as well i also have a "ExtraWorld_nether" and "ExtraWorld_the_end", both work perfectly fine and the teleport process also works flawless, one of our players gathered enough end pearls to visit the end and also defeated the ender dragon and now tried to go through the end portal with his new loot, sadly upon appearing back in the Lobby after the credits rolled and returning back to the world he came from the items werent there but instead where missing.

Player enters The end and defeats the ender dragon and enters the portal
Credits roll as intended and player gets teleported back to the main world as intended (in this case "Lobby". (the end portal world was part of the group "ExtraWorld"/"ExtraWorld_nether" & "ExtraWorld_the_end")
Now when returning to the world group again (in this case going into the portal at the lobby, instead of having the enderdragon loot/exp the inventory was completely wiped empty.

Expected behavior
The inventory would stay saved in the specific world group and not be wiped, even though the portal teleports the player to the lobby (however technically its the same as using /spawn, which for example works fine, even /warp and /tp both didnt cause inventory loss and using the end exit portal seems to be the issue causing the data loss because its probably not being detected as a "teleport" out of the world group?
Plugin version

Using Perworldinventory-kt-2.3.1.jar & Multiverse Core 4.0.0 (but MV works as intended)

Server version
Paper 1.14.3 | Update # 117 | (2019-06-28)
(Github Update Commit)
Additional context and logs
Errors Logs: When entering the portal no error entry gets created.
Worlds Config: Hastebin
Plugin Config: Hastebin
Thank you for taking your time to read this, have a nice day!

I am also having this issue.


Fixes a ray/pytorch bottleneck

Stops pytorch from using more than one core when sampling in parallel. This seems to help performance a lot, especially on vLab (2x-4x speedup).

(Yesh, I think this would probably help your training setup considerably)


Spark Model Training with multiple executors

This is more of a feature request that I may even be willing to work on in my spare time. However, I first wanted to see if anyone is either working on this or had any specific plans? Basically right now, it seems like you can only use one executor for training an mxnet model.
It would be nice if mxnet could do model parameter averaging across spark partitions over each iteration of training (or multiple). This would require each partition to have access to an mxnet model, then apply the training on the subset of data (partition), and after an iteration(s) is completed, we could then average the weights and biases for the central core model. We then would pass the updated model to each of the partitions for another iteration or series of iterations and repeat.
I know there are other deep learning libraries that have something similar, and I wanted to see where you guys were on this.

@javelinjs Do we have distributed training with spark?

Yes we have distributed training on spark, while more features are required to bring it to production environment, see https://github.com/dmlc/mxnet/issues/2268
And we do not have model weight average, currently you need to do it manually.

" Also, remember to set --executor-cores 1 to ensure there's only one task run in one Spark executor." Is this outdated? This seems to insinuate that it won't work with multiple partitions per executor.

That is used to avoid running multiple threads on one mxnet engine, which may cause problems.

    val job = trainData.mapPartitions { partition =>
      val dataIter = new LabeledPointIter(
        partition, params.dimension,
        params.batchSize,
        dataName = params.dataName,
        labelName = params.labelName)

      // TODO: more nature way to get the # of examples?
      var numExamples = 0
      while (dataIter.hasNext) {
        val dataBatch = dataIter.next()
        numExamples += dataBatch.label.head.shape(0)
      }
      logger.debug("Number of samples: {}", numExamples)
      dataIter.reset()

      logger.info("Launching worker ...")
      logger.info("Batch {}", params.batchSize)
      // give enough time for ps-lite to detect the dead nodes
      Thread.sleep(20000)
      KVStoreServer.init(ParameterServer.buildEnv(role = "worker",
        rootUri = schedulerIP, rootPort = schedulerPort,
        numServer = params.numServer,
        numWorker = params.numWorker))
      val kv = KVStore.create("dist_async")
      kv.setBarrierBeforeExit(false)

      val optimizer: Optimizer = new SGD(learningRate = 0.01f,
        momentum = 0.9f, wd = 0.00001f)

      logger.debug("Define model")
      val model = new FeedForward(ctx = params.context,
        symbol = params.getNetwork,
        numEpoch = params.numEpoch,
        optimizer = optimizer,
        initializer = new Xavier(factorType = "in", magnitude = 2.34f),
        argParams = null,
        auxParams = null,
        beginEpoch = 0,
        epochSize = numExamples / params.batchSize / kv.numWorkers)
      logger.info("Start training ...")
      model.fit(trainData = dataIter,
        evalData = null,
        evalMetric = new Accuracy(),
        kvStore = kv)

      logger.info("Training finished, waiting for other workers ...")
      dataIter.dispose()
      kv.setBarrierBeforeExit(true)
      kv.dispose()
      Iterator(new MXNetModel(
        model, params.dimension, params.batchSize,
        dataName = params.dataName, labelName = params.labelName))
    }.cache()

    // force job to run
    job.foreachPartition(() => _)
    // simply the first model
    val mxModel = job.first()

So this is the line of code that brought me to write the ticket. I may be totally misreading it, but it looks like it using a separate model in each of the mapPartitions. Then once you have an rdd of models, it returns the first model which is only representative of one partition of data. So it seems like some of the data would not be represented, if there was more than 1 partition. If this is the case, I guess I am a little confused on how this is distributed, since everything has to be on a single node to work correctly.

Model parameters are stored in parameter-server, which is pulled by workers during training. This is how workers 'see' with each other.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


chore(typo): prisma.schema -> schema.prisma

I randomly searched for that brain :exploding_head: that is prisma.schema because it's wrong, as the official file extension is .prisma and therefore schema.prisma it should be :smile:

@SevInf Thanks I fixed (reverted) the ones about the package.json


cant sync testnet since use pools.testnet9 or main branch

Following your step but can not sync test net. Output of chia show -s
`
Searching for an initial chain
You may be able to expedite with 'chia show -a host:port' using a known node.
Blockchain has no blocks yet`
What have you guys done?

Things were fine when using pools.dev with this repo, what's the point of keep changing branch?
I cant event test pools any more

plots.testnet9 will run testnet9 out of the box. you shouldn't run chia configure--that will switch it to testnet7.
we moved to testnet9 as it uses a new smart contract for plots.

So mainnet of pools.testnet9 is actually a testnet?
Why I use branch main and still wont work?

Just tell me the right step to setup a test node. Steps in readme not work anymore !

Use main branch cant not sync testnet7 or testnet9 !

@wjblanke


Add key shortcuts for RPC console tabs

Alt-I for Information, Alt-C for Console

This isn't working on my arch box (haven't tested it on anything else yet). Code looks like it's missing something to me.

Strange, it is working fine for me on Ubuntu. Admittedly no Mac or Windows tests have been performed, I was hoping someone else was able to do that. If not I can give building a Mac and Windows binary a go.
I referenced this Bitcoin commit: https://github.com/bitcoin/bitcoin/commit/bfbfb53ed468734376039f74a8ca2ddf2047c6f4

Thanks @IngCr3at1on for creating some non-release builds of this branch for me to test.
I can now confirm this works on Linux 32-bit & 64-bit builds and Windows 32-bit & 64-bit. I didn't have a Mac build to test with but I think we can assume this is working. @IngCr3at1on did you get a chance to also confirm this commit works, in case others want a second source?
I think, as you said on Slack, the issue you had above might be isolated to your Arch setup.

Aye @mitchellcash if it's working on Ubuntu it's likely something related to my config/setup. I have not tested it on another machine yet.

No worries, unless anyone else wanted to test it I think we can safely merge this.


Implementing FSR

Before discovering this mod, I've been using Magpie to upscale the game to 1080p using FSR although it wasn't able to do it in 144fps. While the sharpen mod works really good, FSR in my opinion looks really great with this game. Is it possible to implement AMD's FSR shader and if possible the CAS shader with adjustable sharpening setting?

Is FSR actually intended for 2D games like this?


Error: duplicate symbol OBJC_IVAR$_RNSpeechToTextIos._recognitionRequest

Hi,
I'm trying to add library to my projects but it have error when build
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._recognitionRequest in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_CLASS_$_RNSpeechToTextIos in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_METACLASS_$_RNSpeechToTextIos in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._speechRecognizer in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._audioSession in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._recognitionTask in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._audioEngine in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
duplicate symbol _OBJC_IVAR_$_RNSpeechToTextIos._bridge in:
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libApiAi.a(RNSpeechToTextIos.o)
    /Library/Developer/Xcode/DerivedData/Project-acrryiwkjprrjbeznrjzglhfqzlw/Build/Products/Debug-iphoneos/libRNSpeechToTextIos.a(RNSpeechToTextIos.o)
ld: 8 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Seems that react-native-speech-to-text-ios was linked twice
Can you try to unlink it and link it again?
unlink: react-native unlink react-native-speech-to-text-ios
link: react-native link react-native-speech-to-text-ios


dart plugin stopped working

Please review the below report for any information you do not wish to share and report to
https://github.com/dart-lang/sdk/issues/new
Exception from analysis server (running from VSCode / Dart Code)
What I was doing
i was just using  vs code as normally but something happened with null.dart file and than dart plugin started showing this error
Versions

Dart SDK 2.0.0-edge.0d5cf900b021bf5c9fa593ffa12b15bcd1cc5fe0
Visual Studio Code 1.21.1
Dart Code 2.10.0

Analyzer Info
The analyzer was launched using the arguments:
C:\flutter\bin\cache\dart-sdk\bin\snapshots\analysis_server.dart.snapshot
--client-id=Dart-Code.dart-code
--client-version=2.10.0
--preview-dart-2

Exception
Analysis failed: c:\Users\DRAGON\Desktop\medico\homecooks\lib\homecook_provider.dart context: exception_20180324_125850_943
Bad state: No definition of type Null
#0      SummaryTypeProvider._getType (package:analyzer/src/summary/summary_sdk.dart:358)
#1      SummaryTypeProvider.nullType (package:analyzer/src/summary/summary_sdk.dart:270)
#2      InferenceContext.pushReturnContext (package:analyzer/src/generated/resolver.dart:4274)
#3      ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:5355)
#4      BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1292)
#5      MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7717)
#6      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6088)
#7      UnifyingAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:3106)
#8      ScopedVisitor.visitMethodDeclarationInScope (package:analyzer/src/generated/resolver.dart:7605)
#9      ResolverVisitor.visitMethodDeclarationInScope (package:analyzer/src/generated/resolver.dart:6061)
#10     ScopedVisitor.visitMethodDeclaration (package:analyzer/src/generated/resolver.dart:7597)
#11     ResolverVisitor.visitMethodDeclaration (package:analyzer/src/generated/resolver.dart:6051)
#12     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7708)
#13     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8221)
#14     ScopedVisitor.visitClassMembersInScope (package:analyzer/src/generated/resolver.dart:7206)
#15     ScopedVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:7183)
#16     ResolverVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:5395)
#17     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1911)
#18     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:5461)
#19     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2500)
#20     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:697)
#21     LibraryAnalyzer._analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:127)
#22     _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach (dart:collection-patch/dart:collection/compact_hash.dart:361)
#23     LibraryAnalyzer._analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:126)
#24     LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:101)
<asynchronous suspension>
#25     _PerformanceTagImpl.makeCurrentWhileAsync (package:analyzer/src/generated/utilities_general.dart:217)
<asynchronous suspension>
#26     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:97)
<asynchronous suspension>
#27     AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1218)
<asynchronous suspension>
#28     PerformanceLog.runAsync (package:front_end/src/base/performance_logger.dart:52)
<asynchronous suspension>
#29     AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1183)
<asynchronous suspension>
#30     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1010)
<asynchronous suspension>
#31     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1889)
<asynchronous suspension>
#32     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1832)
#33     new AnalysisServer (package:analysis_server/src/analysis_server.dart:395)
#34     SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:79)
#35     StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37)
#36     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:442)
#37     _rootRun (dart:async/zone.dart:1126)
#38     _CustomZone.run (dart:async/zone.dart:1023)
#39     runZoned (dart:async/zone.dart:1501)
#40     Driver._captureExceptions (package:analysis_server/src/server/driver.dart:482)
#41     Driver.start (package:analysis_server/src/server/driver.dart:441)
#42     main (file:///E:/b/build/slave/Windows_Engine/build/src/third_party/dart/pkg/analysis_server/bin/server.dart:12)
#43     _startIsolate.<anonymous closure> (dart:isolate-patch/dart:isolate/isolate_patch.dart:277)
#44     _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165)

Diagnostics requested after the error occurred are:
[
    {
        "name": "myproject",
        "explicitFileCount": 14,
        "implicitFileCount": 837,
        "workItemQueueLength": 2,
        "cacheEntryExceptions": []
    }
]

I'm assuming that this issue is stale. Please let us know if you're continuing to see the problem.


#3236 Added dev/config view

Added a dev view to output the current config from dev/config
e.g .vendor/silverstripe/framework/sake dev/config or /dev/config in a browser
Output is a simple Yaml representation of the config manifest

https://github.com/silverstripe/silverstripe-framework/issues/3236
UPDATE:
Added a dev view to output missing property definitions in the current config from dev/config/audit

Sorry for the staggered feature additions.
I've added config/audit for matching missing property definitions in the current config

Just a quick question, which is mostly because I've forgotten, but how are the view permissions enforced on this endpoint?

This feature has the potential, that I finally split up my config files adequately ;)

@dhensby in live environment types, users must have permission and are also intercepted with a "confirm" screen before viewing. In dev there are no view restrictions


Change content disposition to inline on mooc.helsinki.fi too

Adds support for mooc.helsinki.fi.
Only problem with this feature is that this extensions scope grows outside moodle.helsinki.fi, which means that the extension should probably be renamed.

We decided that the easiest approach would be to fork the extension for the mooc platform. Pending Chrome extension store review. https://github.com/cxcorp/inline-mooc-pdf-extension


Revert two commits

FWIW: This merge request has two commits. Please try to avoid squashed commits as test material for #79. (Here is doesn't mind, for #79 would it a pity if it become one commit.)


Unable to get lister for /v1, Resource=pods

What steps did you take and what happened:
Updated the 0.21 from 0.19 and I am unable to see basic resources such as pods or deployments anymore. I do have access to these resources because I can use kubectl to access them.
ran octant cli and checked the browser, no resources are showing after I select namespace.
2021-06-18T15:35:50.243-0500	ERROR	api/content_manager.go:158	generate content	{"client-id": "f18ce448-d073-11eb-b482-58ef68e6c31b", "err": "generate content: unable to get Lister for /v1, Resource=pods, watcher was unable to start", "content-path": "overview/namespace/default/workloads/pods"}

The console log outputs similar messages for other resources as well and I see the following then I try to open the namespace overview. I can list namespaces however.
r
print summary tab: failed to create item view: unable to get Lister for /v1, Resource=limitranges, watcher was unable to start

What did you expect to happen:
Deployments/pods and any other resources I have access to should be visible in Octant.
Anything else you would like to add:
Here's some more context from the debug log
2021-06-18T15:46:21.697-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "314dd248-d076-11eb-8804-58ef68e6c31b", "poller-name": "content", "poller-instance": "f2dac8ac-af6d-456e-ba1a-0e663c8577e5"}
2021-06-18T15:46:21.697-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "314dd248-d076-11eb-8804-58ef68e6c31b", "poller-name": "helperManager", "poller-instance": "0a35d92e-6506-4dd3-b37d-c6e5b5ca31e0", "elapsed": "3.889µs"}
2021-06-18T15:46:21.697-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "314dd248-d076-11eb-8804-58ef68e6c31b", "poller-name": "content", "poller-instance": "f2dac8ac-af6d-456e-ba1a-0e663c8577e5", "elapsed": "829ns"}
2021-06-18T15:46:22.124-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "poller-name": "content", "poller-instance": "d77159a2-cd89-4dce-9bc1-94c9e27a4f18"}
2021-06-18T15:46:22.125-0500	DEBUG	api/content_manager.go:185	generating content	{"client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "contentPath": "overview/namespace/emg-pi-preprod/workloads/pods", "elapsed": "149.042µs"}
2021-06-18T15:46:22.125-0500	ERROR	api/content_manager.go:158	generate content	{"client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "err": "generate content: unable to get Lister for /v1, Resource=pods, watcher was unable to start", "content-path": "overview/namespace/emg-pi-preprod/workloads/pods"}
github.com/vmware-tanzu/octant/internal/api.(*ContentManager).runUpdate.func1
	/private/tmp/octant-20210617-71377-4p5v5a/src/github.com/vmware-tanzu/octant/internal/api/content_manager.go:158
github.com/vmware-tanzu/octant/internal/api.(*InterruptiblePoller).Run.func1
	/private/tmp/octant-20210617-71377-4p5v5a/src/github.com/vmware-tanzu/octant/internal/api/poller.go:86
github.com/vmware-tanzu/octant/internal/api.(*InterruptiblePoller).Run
	/private/tmp/octant-20210617-71377-4p5v5a/src/github.com/vmware-tanzu/octant/internal/api/poller.go:95
github.com/vmware-tanzu/octant/internal/api.(*ContentManager).Start
	/private/tmp/octant-20210617-71377-4p5v5a/src/github.com/vmware-tanzu/octant/internal/api/content_manager.go:132
2021-06-18T15:46:22.125-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "poller-name": "content", "poller-instance": "d77159a2-cd89-4dce-9bc1-94c9e27a4f18", "elapsed": "342.174µs"}
2021-06-18T15:46:22.260-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "de8fff9b-7e6a-4d95-91c5-ceec27f7d8b0"}
2021-06-18T15:46:22.279-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "314dd248-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "9f1033bc-b988-4dad-8f52-70c304aec5a2"}
2021-06-18T15:46:22.281-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "de8fff9b-7e6a-4d95-91c5-ceec27f7d8b0", "elapsed": "20.498833ms"}
2021-06-18T15:46:22.296-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "326297a4-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "a12edad9-ea5c-4149-969a-36431333b5c4"}
2021-06-18T15:46:22.298-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "314dd248-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "9f1033bc-b988-4dad-8f52-70c304aec5a2", "elapsed": "19.726929ms"}
2021-06-18T15:46:22.316-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "326297a4-d076-11eb-8804-58ef68e6c31b", "poller-name": "navigation", "poller-instance": "a12edad9-ea5c-4149-969a-36431333b5c4", "elapsed": "19.460078ms"}
2021-06-18T15:46:22.320-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "326297a4-d076-11eb-8804-58ef68e6c31b", "poller-name": "namespaces", "poller-instance": "cfb5611a-030a-4ef6-b617-a8dea4e4e0a6"}
2021-06-18T15:46:22.365-0500	DEBUG	api/poller.go:88	poller ran action	{"component": "websocket-client", "client-id": "326297a4-d076-11eb-8804-58ef68e6c31b", "poller-name": "namespaces", "poller-instance": "cfb5611a-030a-4ef6-b617-a8dea4e4e0a6", "elapsed": "45.323432ms"}
2021-06-18T15:46:22.368-0500	DEBUG	api/poller.go:84	poller is running action	{"component": "websocket-client", "client-id": "312b2d42-d076-11eb-8804-58ef68e6c31b", "poller-name": "namespaces", "poller-instance": "230391db-366b-4600-a3a5-b46c88a0dd56"}

Environment:

Octant version (use octant version): 0.21.0
Kubernetes version (use kubectl version): 1.17.12 EKS
OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc): MacOS Mojave

We recently changed the object store for Octant to require the minimum of being able to Watch a resource.
That said, we could re-introduce the ability to query the cluster directly with List/Get and not have a cache in the middle at all, this would result in a significant slow down, but would allow you to list resources again.

Yes, maybe you could make that an option? In the current state, with the restrictions my company has put on resources, I am unable to see anything. It was working great for my purposes before, even though it was a bit slow.

Ok, for this we will re-introduce the ability to start Octant using a DynamicClient directly, which will not be backed by the cache, this will allow Octant to display resources is more restricted environment that don't support Watch at the cost of speed.
For who ever takes this issue to work on it  we will want a couple things:

an option to start octant in direct client mode
ensure that octant can be toggled to direct client mode AFTER it has started
ensure that the poll speed is increased from every second to 5 seconds in direct client mode
(optional) a nice experience would be to notice the watch errors for basic resources and prompt the user to try direct client mode

@wwitzel3 thank you! Can the poll speed be customizable in direct client mode? If someone wanted to experiment with a 3 second poll time they should be able to do so.

We recently changed the object store for Octant to require the minimum of being able to Watch a resource.

Is there any example of working read-only role for Octant? I got clusterrole with watch capability and still does not work.

Wanted to ask the same. Our users only have access to a single namespace, but Octant doesn't show any resources at all. (0.21.0)

We recently changed the object store for Octant to require the minimum of being able to Watch a resource.

Is there any example of working read-only role (except secrets) for Octant? I got clusterrole with watch capability and still does not work.

This should work if you have a clusterrole with Watch, what error are you seeing in the console output?

Wanted to ask the same. Our users only have access to a single namespace, but Octant doesn't show any resources at all. (0.21.0)

Are you able to start Octant with the --namespace flag and provide the namespace the user has access to?

Wanted to ask the same. Our users only have access to a single namespace, but Octant doesn't show any resources at all. (0.21.0)

Are you able to start Octant with the --namespace flag and provide the namespace the user has access to?

Yes.  All the above outputs as expected. We have admin access over the namespace so I don't think it's a permission issue there -- just lack permissions to do much outside of the namespace.

Same here, when service account have only access to get,list,watch on everything excepts secrets on every namespace only default namespace works. It was working fine one version 0.16.3.
KUBECONFIG=/path/kubeconfig kubectl auth can-i watch Deployment --namespace some-name
yes
KUBECONFIG=/path/kubeconfig kubectl auth can-i list Deployment --namespace some-name
yes

but:
2021-11-22T12:15:54.607+0100	ERROR	describer/describer.go:95	LoadObjects	{"err": "List: CacheKey[Namespace='some-name', APIVersion='apps/v1', Kind='Deployment'] (error: unable to get Lister for /, Resource=, watcher was unable to start)"}
github.com/vmware-tanzu/octant/internal/describer.LoadObjects
	/__w/octant/octant/internal/describer/describer.go:95
github.com/vmware-tanzu/octant/internal/describer.(*ObjectLoaderFactory).LoadObjects
	/__w/octant/octant/internal/describer/describer.go:43
github.com/vmware-tanzu/octant/internal/describer.(*List).Describe
	/__w/octant/octant/internal/describer/list.go:68
github.com/vmware-tanzu/octant/internal/generator.(*Generator).Generate
	/__w/octant/octant/internal/generator/generator.go:121
github.com/vmware-tanzu/octant/internal/modules/overview.(*Overview).Content
	/__w/octant/octant/internal/modules/overview/overview.go:288
github.com/vmware-tanzu/octant/internal/api.(*ContentManager).generateContent
	/__w/octant/octant/internal/api/content_manager.go:210
github.com/vmware-tanzu/octant/internal/api.(*ContentManager).runUpdate.func1
	/__w/octant/octant/internal/api/content_manager.go:145
github.com/vmware-tanzu/octant/internal/api.(*InterruptiblePoller).Run.func1
	/__w/octant/octant/internal/api/poller.go:86
github.com/vmware-tanzu/octant/internal/api.(*InterruptiblePoller).Run
	/__w/octant/octant/internal/api/poller.go:95
github.com/vmware-tanzu/octant/internal/api.(*ContentManager).Start
	/__w/octant/octant/internal/api/content_manager.go:133


Translating URLs

Hia! Was just quickly looking through the project. I noticed that, while text is translated properly, there are a few instances in which URLs in the French link to English pages.
Two cases in particular:

LandingPage.js
RegistrationPage.js

This is a small part of a larger problem, documented more comprehensively here: https://github.com/cds-snc/ircc-rescheduler/issues/128
Closing this in favour of the other one.


NO_MSC build not works

Since 0.9.15, firmwares built with NO_MSC do not work as USB device properly.

I did some inspection on 0.9.19 (4c9daaf).

recognized as USB device properly
serial print is broken
no debug print in serial
firstly pressed key is input forever if I use Keyboard class
keymap.rb which controls GPIO (not using Keyboard class) works properly
I couldn't use RGB class

Thanks. I'm thinking I have to debug that with picoprobe...

I think I can fix this issue in the next release


The timeout for logging in is too short

C:\Program Files\dotnet\sdk\5.0.203\NuGet.targets(131,5): error :     [CredentialProvider]Device flow authentication failed. User was presented with device flow, but didn't react within 90 seconds. [project path snipped]
But 90 seconds just isn't long enough to open the URL; paste in the code, select account, switch to password manager, grab password, place password, switch to phone, wait for phone to provide auth request, provide phone auth again because device guard just got switched on by default, and approve the request.
Timeout should be at least 4 minutes.

Whatever. https://developercommunity.visualstudio.com/t/the-timeout-for-logging-into-azure-feeds-via-dotne/1431716?from=email


Triple Dubbo dual protocol parameters are missing

dubbo version: 3.2.2
The server uses proto to define the protocol, and the dubbo plug-in generates stub code and exposes the triple protocol and dubbo protocol at the same time.

<dubbo:protocol name="tri" port="9090" serialization="protobuf"/>
<dubbo:protocol name="dubbo" port="${dubbo.protocol.port}"/>

<dubbo:provider filter="xxx" retries="0" timeout="${dubbo.provider.timeout}"
                     protocol="tri,dubbo" serialization="protobuf"/>

Plugin configuration:
<plugin>
                 <groupId>org.xolstice.maven.plugins</groupId>
                 <artifactId>protobuf-maven-plugin</artifactId>
                 <version>0.6.1</version>
                 <configuration>
                     <protocArtifact>com.google.protobuf:protoc:3.22.3:exe:${os.detected.classifier}</protocArtifact>
                     <protocPlugins>
                         <protocPlugin>
                             <id>dubbo</id>
                             <groupId>org.apache.dubbo</groupId>
                             <artifactId>dubbo-compiler</artifactId>
                             <version>${dubbo.version}</version>
                             <mainClass>org.apache.dubbo.gen.tri.Dubbo3TripleGenerator</mainClass>
                         </protocPlugin>
                     </protocPlugins>
                     <outputDirectory>${basedir}/src/main/java/</outputDirectory>
                 </configuration>
                 <executions>
                     <execution>
                         <goals>
                             <goal>compile</goal>
                         </goals>
                     </execution>
                 </executions>
             </plugin>

The interface generated by the client and server is injected using @DubboReference. The parameters passed in when the client calls the service are generated parameters that inherit GeneratedMessageV3. The fields have values when sent, but the field values are lost after the server receives them. From the interceptor, we can see that the argument parameter of invocation was not received on the server side.
Client:

Server:

Please try use one protocol to see if it work properly?

Only triple: Invocation from grpc clients works well.
Only dubbo: Same error as described.

should I define interface and POJO separately (using code generated by dubbo plugin now) to make dubbo protocol work?

Only triple: Invocation from grpc clients works well.
Only dubbo: Same error as described.

should I define interface and POJO separately (using code generated by dubbo plugin now) to make dubbo protocol work?

The stub mode uses protobuf serialization, but when using the dubbo protocol, other serializations are used, and protobuf objects cannot be serialized, which causes problems.

Only triple: Invocation from grpc clients works well.
Only dubbo: Same error as described.

should I define interface and POJO separately (using code generated by dubbo plugin now) to make dubbo protocol work?

The stub mode uses protobuf serialization, but when using the dubbo protocol, other serializations are used, and protobuf objects cannot be serialized, which causes problems.

It there any way to fix this issue without defining another interface and pojo?

Have you add the serialization support
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-serialization-protobuf</artifactId>
    <version>1.0.1</version>
</dependency>

Have you added the serialization support?
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-serialization-protobuf</artifactId>
    <version>1.0.1</version>
</dependency>

Not work after adding this dependency.

Have you added the serialization support?
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-serialization-protobuf</artifactId>
    <version>1.0.1</version>
</dependency>

Not work after adding this dependency.

Can you provide some detailed error message after adding this dependency？

Here are one possible solution

First, import dubbo-serialization-protobuf:

   <dependency>
            <groupId>org.apache.dubbo.extensions</groupId>
            <artifactId>dubbo-serialization-protobuf</artifactId>
            <version>1.0.1</version>
            <exclusions>
                <exclusion>
                    <groupId>com.google.protobuf</groupId>
                    <artifactId>protobuf-java</artifactId>
                </exclusion>
            </exclusions>
   </dependency>

Then, fix org.apache.dubbo.rpc.model.StubMethodDescriptor, and recompile dubbo-common with a new version :

  public StubMethodDescriptor(String methodName,...
        ...
        // this.returnTypes = new Type[]{requestClass, requestClass};
        this.returnTypes = new Type[]{returnClass, returnClass};
        ...
    }

Import new dubbo-common to your project, and run mvn clean install  to generate triple stub
Rename async method name of StubMethodDescriptor :

If you have a service
message GreeterRequest {
  string name = 1;
}
message GreeterReply {
  string message = 1;
}
service Greeter{
  rpc greet(GreeterRequest) returns (GreeterReply);
}

It will generate 3 StubMethodDescriptor for method greet in DubboGreeterTriple:
   private static final StubMethodDescriptor greetMethod = new StubMethodDescriptor("greet", [a lot of params]);

    private static final StubMethodDescriptor greetAsyncMethod = new StubMethodDescriptor("greet",  [a lot of params]);

    private static final StubMethodDescriptor greetProxyAsyncMethod = new StubMethodDescriptor("greetAsync", [a lot of params]);

Rename the second and third StubMethodDescriptor to "greetAsync" and "greetProxyAsync":
   private static final StubMethodDescriptor greetMethod = new StubMethodDescriptor("greet", [a lot of params]);

    private static final StubMethodDescriptor greetAsyncMethod = new StubMethodDescriptor("greetAsync",  [a lot of params]);

    private static final StubMethodDescriptor greetProxyAsyncMethod = new StubMethodDescriptor("greetProxyAsync", [a lot of params]);

I haven't tried if this will affect async call, but if don't do that the async StubMethodDescriptor will take place of the sync one in StubServiceDescriptor.methods, and finally casue Exception java.lang.IllegalArgumentException: This serialization only support google protobuf messages, but the actual input type is :java.util.concurrent.CompletableFuture.

Add generated message class to org.apache.dubbo.common.serialize.protobuf.support.ProtobufUtils before your dubbo service export/refer

        ProtobufUtils.marshaller(GreeterRequest.getDefaultInstance());
        ProtobufUtils.marshaller(GreeterReply.getDefaultInstance());

Set a new protocol for MetadataService beacause it does not support protobuf serialization.

Full demo
provider
public class TriOpServer {

    public static void main(String[] args) throws IOException {
        ServiceConfig<Greeter> service = new ServiceConfig<>();
        service.setInterface(Greeter.class);
        service.setRef(new TriGreeterImpl());
        service.setSerialization("protobuf");
        service.setTimeout(1000000);

        ProtocolConfig dubboProtocolConfig = new ProtocolConfig(CommonConstants.DUBBO,50063);
        dubboProtocolConfig.setSerialization("protobuf");

        ApplicationConfig applicationConfig = new ApplicationConfig("tri-stub-server");
        applicationConfig.setSerializeCheckStatus("DISABLE");

        ProtobufUtils.marshaller(GreeterRequest.getDefaultInstance());
        ProtobufUtils.marshaller(GreeterReply.getDefaultInstance());

        DubboBootstrap bootstrap = DubboBootstrap.getInstance();
        bootstrap.application(applicationConfig)
                .registry(new RegistryConfig("zookeeper://localhost:2181"))
                .protocol(new ProtocolConfig(CommonConstants.TRIPLE, 50053))
                .protocol(dubboProtocolConfig)
                .service(service)
                .start()
                .await();
    }
}

public class TriGreeterImpl extends DubboGreeterTriple.GreeterImplBase {
    private static final Logger LOGGER = LoggerFactory.getLogger(org.apache.dubbo.samples.tri.grpc.interop.server.TriGreeterImpl.class);

    public TriGreeterImpl() {
    }

    @Override
    public GreeterReply greet(GreeterRequest request) {
        LOGGER.info("Server received greet request {}", request);
        return GreeterReply.newBuilder()
                .setMessage("hello," + request.getName())
                .build();
    }
}

consumer
public class TriOpClient {
    private static final Logger LOGGER = LoggerFactory.getLogger(TriOpClient.class);

    private static Greeter triGreeter;

    private static Greeter dubboGreeter;

    public static void main(String[] args) throws IOException, InterruptedException {
        DubboBootstrap bootstrap = DubboBootstrap.getInstance();
        ReferenceConfig<Greeter> tripleRef = new ReferenceConfig<>();
        tripleRef.setInterface(Greeter.class);
        tripleRef.setProtocol(CommonConstants.TRIPLE);
        tripleRef.setProxy(CommonConstants.NATIVE_STUB);
        tripleRef.setTimeout(3000);

        ReferenceConfig<Greeter> dubboRef = new ReferenceConfig<>();
        dubboRef.setInterface(Greeter.class);
        dubboRef.setProtocol(CommonConstants.DUBBO);
        dubboRef.setProxy(CommonConstants.NATIVE_STUB);
        dubboRef.setTimeout(3000000);

        ProtobufUtils.marshaller(GreeterRequest.getDefaultInstance());
        ProtobufUtils.marshaller(GreeterReply.getDefaultInstance());

        ApplicationConfig applicationConfig = new ApplicationConfig("tri-stub-consumer");
        applicationConfig.setSerializeCheckStatus("DISABLE");
        bootstrap.application(applicationConfig)
                .reference(dubboRef)
                .reference(tripleRef)
                .registry(new RegistryConfig("zookeeper://localhost:2181"))
                .start();

        dubboGreeter = dubboRef.get();
        triGreeter = tripleRef.get();

        while (true){
            Thread.sleep(1000);
            unary(dubboGreeter,"dubbo");
            unary(triGreeter,"triple");
        }
    }

    public static void unary(Greeter ref,String name) {
        LOGGER.info("Start unary");
        final GreeterReply reply = ref.greet(GreeterRequest.newBuilder()
                .setName(name)
                .build());
        LOGGER.info("Unary reply <-{}", reply);
    }
}


When renaming a request in bruno client, if we add 'DELETE/' it removes such request

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
It's easy to reproduce.

Create a new request say "Hello World"

Rename the request to say "Hello/DELETE World"

Instead of renaming, the file will be removed from the hard drive

.bru file to reproduce the bug
No response
Screenshots/Live demo link

Hey @Drachenfels
Thanks for reporting this issue.
I'm able to reproduce it.
The error occurs when renaming the request to req-name/DELETE and we're working on it.

I have merged the PR https://github.com/usebruno/bruno/pull/3274 that will now throw warnings and prevent file deletion.
This will go out in the upcoming v1.36.0 release scheduled to be released on 4 Dec 2024
We are also working on supporting backward and forward slashes in request names. Please track https://github.com/usebruno/bruno/issues/2996 for updates regarding that.


Add support for constant sized arrays

Fields like: array<vec4, 10>
should be valid, but the constant size param is marked as red

I have just pushed a fix for this. It should be available in the Jetbrains marketplace in a couple of days once they approve the update

This should be available on the Jetbrains market place now. Let me know if this fixes your problem.,

This works now, thanks for your great work!


⚠ File access (beta) has degraded performance

In bbb0f7f, File access (beta) (https://beta.fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 6731 ms

Resolved: File access (beta) performance has improved in 994201b.


fix batch norm

Shall we remove fix gamma? At very beginning I added fix_gamma to save a temp output. As memory is no longer a bottle neck, we may consider to remove fix gamma totally.
@tqchen @winstywang

let us keep this argument, for backward compatiblity reasons. It is also good to fix gamma sometimes before relu


Will Learning drop further if i resume training?

💡 Your Question
Hello SG Team,
My dataset consist of 35k images in 512x512 size. I trained my yolo_nas_l model for 100 epochs initially. Even after 100<EMAIL_ADDRESS>is 0.343. So, I decided to train an additional 100 epochs. My question is the LR at 0th epoch (when i initially started training ) is 5e-4 after 100th epoch my LR is 5.000000984100999e-05. It's 1/10th of it. It has been gradually reduced according to the given training parameters. So, now when i resume training it starts at LR 5.000000984100999e-05. At the end of 200th epoch will it 1/10th of this number or will it still be 1/10th of 5e-4?
My Initial Train Params:
train_params = {
    # ENABLING SILENT MODE
    'silent_mode': True,
    "average_best_models":True,
    "warmup_mode": "LinearEpochLRWarmup",
    "warmup_initial_lr": 1e-6,
    "lr_warmup_epochs": 3,
    "initial_lr": 5e-4,
    "lr_mode": "cosine",
    "cosine_final_lr_ratio": 0.1,
    "optimizer": "Adam",
    "optimizer_params": {"weight_decay": 0.0001},
    "zero_weight_decay_on_bias_and_bn": True,
    "ema": True,
    "ema_params": {"decay": 0.9, "decay_type": "threshold"},
    # ONLY TRAINING FOR 10 EPOCHS FOR THIS EXAMPLE NOTEBOOK
    "max_epochs": 100,
    "mixed_precision": True,
    "loss": PPYoloELoss(
        use_static_assigner=False,
        # NOTE: num_classes needs to be defined here
        num_classes=len(dataset_params['classes']),
        reg_max=16
    ),
    "valid_metrics_list": [
        DetectionMetrics_050(
            score_thres=0.1,
            top_k_predictions=300,
            # NOTE: num_classes needs to be defined here
            num_cls=len(dataset_params['classes']),
            normalize_targets=True,
            post_prediction_callback=PPYoloEPostPredictionCallback(
                score_threshold=0.01,
                nms_top_k=1000,
                max_predictions=300,
                nms_threshold=0.7
            )
        )
    ],
    "metric_to_watch"<EMAIL_ADDRESS>}

My Train Params for resuming:
train_params = {
    'resume': True,
    # 'ckpt_name':'ckpt_latest.pth',
    # 'resume_strict_load':  True,
    # ENABLING SILENT MODE
    'silent_mode': True,
    "average_best_models":True,
    "warmup_mode": "LinearEpochLRWarmup",
    "warmup_initial_lr": 1e-6,
    "lr_warmup_epochs": 3,
    "initial_lr": 5e-4,
    "lr_mode": "cosine",
    "cosine_final_lr_ratio": 0.1,
    "optimizer": "Adam",
    "optimizer_params": {"weight_decay": 0.0001},
    "zero_weight_decay_on_bias_and_bn": True,
    "ema": True,
    "ema_params": {"decay": 0.9, "decay_type": "threshold"},
    # ONLY TRAINING FOR 10 EPOCHS FOR THIS EXAMPLE NOTEBOOK
    "max_epochs": 200,
    "mixed_precision": True,
    "loss": PPYoloELoss(
        use_static_assigner=False,
        # NOTE: num_classes needs to be defined here
        num_classes=len(dataset_params['classes']),
        reg_max=16
    ),
    "valid_metrics_list": [
        DetectionMetrics_050(
            score_thres=0.1,
            top_k_predictions=300,
            # NOTE: num_classes needs to be defined here
            num_cls=len(dataset_params['classes']),
            normalize_targets=True,
            post_prediction_callback=PPYoloEPostPredictionCallback(
                score_threshold=0.01,
                nms_top_k=1000,
                max_predictions=300,
                nms_threshold=0.7
            )
        )
    ],
    "metric_to_watch"<EMAIL_ADDRESS>}

Versions
No response

Same Doubt?

So your config has following settings:
    "initial_lr": 5e-4,
    "lr_mode": "cosine",
    "cosine_final_lr_ratio": 0.1,
    "max_epochs": 100,

That means LR will drop from initial_lr by a factor of cosine_final_lr_ratio along max_epochs period.
Now, if you want to resume the training and increase the number of epochs to 200. In this case the learning rate will still follow the cosine decay and will drop from initial_lr to 0.1x of that value just for 200 epochs.
So if you want to lower LR towards the end of training you should set the cosine_final_lr_ratio to lower values.
A few thoughts what you can also try:

Check the mAP plots in Tensorboard and check how the trend is looking. Maybe the LR is too small and increasing it would actually help model to train faster.
Play with EMA (It is enabled now, try switching it off and see how it impacts the accuracy. Try setting a different ema decay values: From 0.9 try 0.99, 0.999 and see how it affects).

Tuning hyperparameters can be time-consuming but unfortunately there are no universal recipe for training that works on all datasets.

Hi @BloodAxe Thanks for the clarification regarding the LR. I couldn't resume training for some reason. I waited 2.5hrs after resuming the training and checked the log files later it's not starting it but the code cell in my notebook is running. Do u know what's the issue?
And I tried switching EMA off there is not much change in the<EMAIL_ADDRESS>values.
These plots bellow are from my initial training with 100 epochs:
This is my LR plot from tensorboard:

This is my<EMAIL_ADDRESS>plot:

Do you mind showing how you "resumed" that training?
A code snippet showing the code would help understand what steps you did.

Yes!
Below is that code:
CHECKPOINT_DIR = 'checkpoints'
trainer = Trainer(experiment_name='version_1', ckpt_root_dir=CHECKPOINT_DIR)

best_model = models.get('yolo_nas_l',
                        num_classes=len(dataset_params['classes']),
                        checkpoint_path="/kaggle/input/yolo-nas-0-343/kaggle/working/checkpoints/version_1/RUN_20231227_111030_152840/ckpt_best.pth")

train_params = {
    'resume': True,
    # 'ckpt_name':'ckpt_latest.pth',
    # 'resume_strict_load':  True,
    # ENABLING SILENT MODE
    'silent_mode': True,
    "average_best_models":True,
    "warmup_mode": "LinearEpochLRWarmup",
    "warmup_initial_lr": 1e-6,
    "lr_warmup_epochs": 3,
    "initial_lr": 5e-4,
    "lr_mode": "cosine",
    "cosine_final_lr_ratio": 0.1,
    "optimizer": "Adam",
    "optimizer_params": {"weight_decay": 0.0001},
    "zero_weight_decay_on_bias_and_bn": True,
    "ema": True,
    "ema_params": {"decay": 0.9, "decay_type": "threshold"},
    # ONLY TRAINING FOR 10 EPOCHS FOR THIS EXAMPLE NOTEBOOK
    "max_epochs": 200,
    "mixed_precision": True,
    "loss": PPYoloELoss(
        use_static_assigner=False,
        # NOTE: num_classes needs to be defined here
        num_classes=len(dataset_params['classes']),
        reg_max=16
    ),
    "valid_metrics_list": [
        DetectionMetrics_050(
            score_thres=0.1,
            top_k_predictions=300,
            # NOTE: num_classes needs to be defined here
            num_cls=len(dataset_params['classes']),
            normalize_targets=True,
            post_prediction_callback=PPYoloEPostPredictionCallback(
                score_threshold=0.01,
                nms_top_k=1000,
                max_predictions=300,
                nms_threshold=0.7
            )
        )
    ],
    "metric_to_watch"<EMAIL_ADDRESS>}

trainer.train(model=best_model,
              training_params=train_params,
              train_loader=train_data,
              valid_loader=val_data)

Console log from the above traner.train code:
[2023-12-28 07:52:31] INFO - sg_trainer.py - Resuming training from latest run.
[2023-12-28 07:52:31] INFO - sg_trainer.py - Checkpoints directory: checkpoints/version_1/RUN_20231227_111030_152840
[2023-12-28 07:52:32] INFO - checkpoint_utils.py - Successfully loaded model weights from checkpoints/version_1/RUN_20231227_111030_152840/ckpt_latest.pth checkpoint.
[2023-12-28 07:52:32] WARNING - sg_trainer.py - [WARNING] Main network has been loaded from checkpoint but EMA network exists as well. It  will only be loaded during validation when training with ema=True.
[2023-12-28 07:52:32] INFO - sg_trainer.py - Using EMA with params {'decay': 0.9, 'decay_type': 'threshold'}
The console stream is now moved to checkpoints/version_1/RUN_20231227_111030_152840/console_Dec28_07_52_32.txt
[2023-12-28 07:52:36] INFO - sg_trainer_utils.py - TRAINING PARAMETERS:
    - Mode:                         Single GPU
    - Number of GPUs:               1          (1 available on the machine)
    - Full dataset size:            3515       (len(train_set))
    - Batch size per GPU:           16         (batch_size)
    - Batch Accumulate:             1          (batch_accumulate)
    - Total batch size:             16         (num_gpus * batch_size)
    - Effective Batch size:         16         (num_gpus * batch_size * batch_accumulate)
    - Iterations per epoch:         219        (len(train_loader))
    - Gradient updates per epoch:   219        (len(train_loader) / batch_accumulate)
    - Model: YoloNAS_L  (66.92M parameters, 66.92M optimized)
    - Learning Rates and Weight Decays:
      - default: (66.92M parameters). LR: 5.000000984100999e-05 (66.92M parameters) WD: 0.0, (84.73K parameters), WD: 0.0001, (66.83M parameters)

[2023-12-28 09:58:44] INFO - sg_trainer.py -
[MODEL TRAINING EXECUTION HAS BEEN INTERRUPTED]... Please wait until SOFT-TERMINATION process finishes and saves all of the Model Checkpoints and log files before terminating...
[2023-12-28 09:58:44] INFO - sg_trainer.py - For HARD Termination - Stop the process again
[2023-12-28 09:58:44] INFO - base_sg_logger.py - [CLEANUP] - Successfully stopped system monitoring process

I terminated it because it was running for over 2.5 hours and nothing was happening.

Hey @BloodAxe any idea on how to resolve this?

The first thing that struck me is  'silent_mode': True,. Why do you want to set it explicitly and enable it? It disables the console output and it is not meant to be set explicitly. It is used mostly under DDP mode to differentiate between main and non-main nodes. You just don't want to specify it at all.
When using resume feature you usually don't need to load any checkpoint beforehand. When enabled, Trainer will look for the latest run of the given experiment name and attempt to continue it. That means , no additional run folder will be created, but instead checkpoints will be stored in the existing experiment directory (Tensorboard files will be appended).
So my suggestion is to remove silent_mode and double-check whether your trainer continues a training from the epoch where you stopped.
Another suggestion not relevant to the resume - try increasing EMA to higher values (0.99, 0.999) and changing decay_type to exp (and playing with beta parameter under ema_params. A good starting value could be around 20 or so. This should smooth the training and make mAP oscillate less.

Thanks @BloodAxe trying out those suggestions now. started training with  yolo_nas_m.
The params used for yolo_nas_m:
from super_gradients.training.losses import PPYoloELoss
from super_gradients.training.metrics import DetectionMetrics_050
from super_gradients.training.models.detection_models.pp_yolo_e import PPYoloEPostPredictionCallback

train_params = {
    # ENABLING SILENT MODE
#     'resume':True,
#     'silent_mode': True,
    "average_best_models":True,
    "warmup_mode": "LinearEpochLRWarmup",
    "warmup_initial_lr": 1e-6,
    "lr_warmup_epochs": 3,
    "initial_lr": 5e-4,
    "lr_mode": "cosine",
    "cosine_final_lr_ratio": 0.1,
    "optimizer": "Adam",
    "optimizer_params": {"weight_decay": 0.0001},
    "zero_weight_decay_on_bias_and_bn": True,
    "ema": True,
    "ema_params": {"decay": 0.999, "decay_type": "exp", "beta":20},
    # ONLY TRAINING FOR 10 EPOCHS FOR THIS EXAMPLE NOTEBOOK
    "max_epochs": 300,
    "mixed_precision": True,
    "loss": PPYoloELoss(
        use_static_assigner=False,
        # NOTE: num_classes needs to be defined here
        num_classes=len(dataset_params['classes']),
        reg_max=16
    ),
    "valid_metrics_list": [
        DetectionMetrics_050(
            score_thres=0.1,
            top_k_predictions=300,
            # NOTE: num_classes needs to be defined here
            num_cls=len(dataset_params['classes']),
            normalize_targets=True,
            post_prediction_callback=PPYoloEPostPredictionCallback(
                score_threshold=0.01,
                nms_top_k=1000,
                max_predictions=300,
                nms_threshold=0.7
            )
        )
    ],
    "metric_to_watch"<EMAIL_ADDRESS>}

Console:
[2023-12-29 10:49:20] INFO - sg_trainer.py - Starting a new run with `run_id=RUN_20231229_104920_025491`
[2023-12-29 10:49:20] INFO - sg_trainer.py - Checkpoints directory: checkpoints/version1/RUN_20231229_104920_025491
[2023-12-29 10:49:20] INFO - sg_trainer.py - Using EMA with params {'decay': 0.999, 'decay_type': 'exp', 'beta': 20}
The console stream is now moved to checkpoints/version1/RUN_20231229_104920_025491/console_Dec29_10_49_20.txt
[2023-12-29 10:49:22] INFO - sg_trainer_utils.py - TRAINING PARAMETERS:
    - Mode:                         Single GPU
    - Number of GPUs:               1          (1 available on the machine)
    - Full dataset size:            3515       (len(train_set))
    - Batch size per GPU:           16         (batch_size)
    - Batch Accumulate:             1          (batch_accumulate)
    - Total batch size:             16         (num_gpus * batch_size)
    - Effective Batch size:         16         (num_gpus * batch_size * batch_accumulate)
    - Iterations per epoch:         219        (len(train_loader))
    - Gradient updates per epoch:   219        (len(train_loader) / batch_accumulate)
    - Model: YoloNAS_M  (51.14M parameters, 51.14M optimized)
    - Learning Rates and Weight Decays:
      - default: (51.14M parameters). LR: 0.0005 (51.14M parameters) WD: 0.0, (72.25K parameters), WD: 0.0001, (51.07M parameters)

[2023-12-29 10:49:22] INFO - sg_trainer.py - Started training for 300 epochs (0/299)

Train epoch 0: 100%|██████████| 219/219 [03:16<00:00,  1.11it/s, PPYoloELoss/loss=4.06, PPYoloELoss/loss_cls=1.97, PPYoloELoss/loss_dfl=1.01, PPYoloELoss/loss_iou=1.08, gpu_mem=14.4]
Validating: 100%|██████████| 55/55 [00:16<00:00,  3.26it/s]
[2023-12-29 10:52:58] INFO - base_sg_logger.py - Checkpoint saved in checkpoints/version1/RUN_20231229_104920_025491/ckpt_best.pth
[2023-12-29 10:52:58] INFO - sg_trainer.py - Best checkpoint overriden: validation<EMAIL_ADDRESS>0.00011028622975572944
===========================================================
SUMMARY OF EPOCH 0
├── Train
│   ├── Ppyoloeloss/loss_cls = 1.9693
│   ├── Ppyoloeloss/loss_iou = 1.0825
│   ├── Ppyoloeloss/loss_dfl = 1.0115
│   └── Ppyoloeloss/loss = 4.0634
└── Validation
    ├── Ppyoloeloss/loss_cls = 1.9522
    ├── Ppyoloeloss/loss_iou = 1.0182
    ├── Ppyoloeloss/loss_dfl = 0.982
    ├── Ppyoloeloss/loss = 3.9524
    ├──<EMAIL_ADDRESS>= 0.0
    ├──<EMAIL_ADDRESS>= 0.0
    ├──<EMAIL_ADDRESS>= 0.0001
    └──<EMAIL_ADDRESS>= 0.0

===========================================================
Train epoch 1: 100%|██████████| 219/219 [03:09<00:00,  1.16it/s, PPYoloELoss/loss=2.87, PPYoloELoss/loss_cls=1.37, PPYoloELoss/loss_dfl=0.755, PPYoloELoss/loss_iou=0.741, gpu_mem=14.5]
Validating epoch 1: 100%|██████████| 55/55 [00:21<00:00,  2.52it/s]
[2023-12-29 10:56:35] INFO - base_sg_logger.py - Checkpoint saved in checkpoints/version1/RUN_20231229_104920_025491/ckpt_best.pth
[2023-12-29 10:56:35] INFO - sg_trainer.py - Best checkpoint overriden: validation<EMAIL_ADDRESS>0.11669479310512543
===========================================================
SUMMARY OF EPOCH 1
├── Train
│   ├── Ppyoloeloss/loss_cls = 1.3723
│   │   ├── Epoch N-1      = 1.9693 (↘ -0.597)
│   │   └── Best until now = 1.9693 (↘ -0.597)
│   ├── Ppyoloeloss/loss_iou = 0.7405
│   │   ├── Epoch N-1      = 1.0825 (↘ -0.342)
│   │   └── Best until now = 1.0825 (↘ -0.342)
│   ├── Ppyoloeloss/loss_dfl = 0.7552
│   │   ├── Epoch N-1      = 1.0115 (↘ -0.2563)
│   │   └── Best until now = 1.0115 (↘ -0.2563)
│   └── Ppyoloeloss/loss = 2.868
│       ├── Epoch N-1      = 4.0634 (↘ -1.1954)
│       └── Best until now = 4.0634 (↘ -1.1954)
└── Validation
    ├── Ppyoloeloss/loss_cls = 1.3076
    │   ├── Epoch N-1      = 1.9522 (↘ -0.6446)
    │   └── Best until now = 1.9522 (↘ -0.6446)
    ├── Ppyoloeloss/loss_iou = 0.6144
    │   ├── Epoch N-1      = 1.0182 (↘ -0.4039)
    │   └── Best until now = 1.0182 (↘ -0.4039)
    ├── Ppyoloeloss/loss_dfl = 0.6611
    │   ├── Epoch N-1      = 0.982  (↘ -0.3208)
    │   └── Best until now = 0.982  (↘ -0.3208)
    ├── Ppyoloeloss/loss = 2.5832
    │   ├── Epoch N-1      = 3.9524 (↘ -1.3693)
    │   └── Best until now = 3.9524 (↘ -1.3693)
    ├──<EMAIL_ADDRESS>= 0.025
    │   ├── Epoch N-1      = 0.0    (↗ 0.025)
    │   └── Best until now = 0.0    (↗ 0.025)
    ├──<EMAIL_ADDRESS>= 0.3619
    │   ├── Epoch N-1      = 0.0    (↗ 0.3619)
    │   └── Best until now = 0.0    (↗ 0.3619)
    ├──<EMAIL_ADDRESS>= 0.1167
    │   ├── Epoch N-1      = 0.0001 (↗ 0.1166)
    │   └── Best until now = 0.0001 (↗ 0.1166)
    └──<EMAIL_ADDRESS>= 0.0354
        ├── Epoch N-1      = 0.0    (↗ 0.0354)
        └── Best until now = 0.0    (↗ 0.0354)

===========================================================
Train epoch 2:  41%|████      | 90/219 [01:17<01:49,  1.17it/s, PPYoloELoss/loss=2.63, PPYoloELoss/loss_cls=1.27, PPYoloELoss/loss_dfl=0.7, PPYoloELoss/loss_iou=0.669, gpu_mem=12.9]

Closing issue as stale/resolved


TC: Add a scope discovery AST pass to find modules/traits (Partial)

This PR adds the first AST pass (partially), which discovers top level definitions such as modules and traits. This is partially completed, as this stage should also discover local scopes, as well as impl blocks. A lot of documentation is not present yet (see @@Docs comments), and will be progressively added as more of the traversal is implemented. This is a checkpoint PR to keep the change sizes somewhat small.
A USE_NEW_TC environment flag is checked, and the typechecker implementation is decided based on its value. This is an ugly hack that is needed while both typecheckers are in use, and will be eventually removed.

Closing this in favour of ast-passes-3 branch.


[Paddle] Add control of RNG state

This PR allows user to control the RNG state of attention dropout and hidden dropout. Referring to PaddleNLP, attention dropout uses local_seed and hidden dropout uses global_seed.

@jeng1220 to take a look.

/te-ci

@zlsh80826 Would you please help trigger CI?

/te-ci


fishing mortality/harvest

[ ]  obtain information from Taylor/Dixie county 2018 (effort, catchability, state vessel counts 2016-2019)

explore these options:

[ ]  Et*q

[ ]  constant U

[ ] q vary with effort or abundance

Table from Page 1238

I uploaded a document called "FWRI Harvest Parameters" to the dropbox folder that contains estimates of u, q, and aerial surveys of vessels.

What is the functional form of this relationship? - type 2?
coded in a q varying by Vulnerable biomass based on pine et al 2015 eq. 8

[ ] Code in option for Constant q, Type II, and Type III functional responses with respect to Vulnerable Biomass

[ ] Code in option to allow q to vary with effort

For now maybe the simplest way to do above comment is to allow the explanatory variable in the functional response to be either vulnerable bio or effort. And later we can discuss with Ed and as a group whether we want to explore q as a function of effort, what shape we think it might be, and whether we want to allow q to vary as a function of both effort and abundance (i.e. maybe if abundance is really low but effort is high, search efficiency will still be good and catchability will be high (instead of low if q only varies as a function of abundance in a type-III type response)).

I took a look at the Pine et al. (2015) paper. The original equation is q_t = q_max / (1+k_q*B_t); where q_t is the catchability at time, q_max is the maximum catchability at low stock size, k_q is a scaling constant (e.g. 2/B_0); and B_t is the biomass. If you generate q_t over a range of B_t, you end up with a declining exponential function as a function of B_t. This is from Hilborn & Walters (1992).
q_t_original.pdf
My tentative answer to do the "type III" form is to just put an exponential on B_t in the above equation; less than 1 = slower q decline, greater than 1 is faster q decline. You also need to exponentiate the B_t in the calculation of Catch; C=qEB^X.


[$250] Bug: [Staging] On add Paypal page, the add Paypal button isn't working correctly reported by @Tushu17

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open Web/mWeb staging.new.expensify
Go to settings > Payments > Add Paypal page
Write invalid Paypal name and click add Paypal button.
Empty input field.

Expected Result:
Button should be disabled if input field is empty
Actual Result:
Button doesn't get disabled.
Workaround:
unknown
Platform:

Where is this issue occurring?

[X] - Web
[X] - iOS
[ ] - Android
[X] - Desktop App
[X] - Mobile Web

Version Number: 1.2.18-4
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/197045452-b3995f8b-ad8b-4dac-b4dd-057a48efd0f4.mov
Expensify/Expensify Issue URL:
Issue reported by: @Tushu17
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1666284006608739
View all open jobs on GitHub
https://user-images.githubusercontent.com/43996225/197045517-2ba701b8-08a6-49e0-9975-ab11f4d45858.mp4

Proposal
We just need to change:-
https://github.com/Expensify/App/blob/1bca7a4e6f0affb2a13e4697aa5803820cfeb863/src/pages/settings/Payments/AddPayPalMePage.js#L103
with
isDisabled={this.state.payPalMeUsername === this.props.payPalMeData.description || !this.state.payPalMeUsername.length}

Proposal
The button will be enabled if user uses empty space so we need to check if a value exists by using _.isEmpty(this.state.payPalMeUsername.trim())
I believe we can also remove the current check since the user don't have any option to edit username unless they visit this page by url
https://github.com/Expensify/App/blob/07fc7d7fb6569b8705e50144a1e32fa3a941d1ba/src/pages/settings/Payments/AddPayPalMePage.js#L103
So we can use _.isEmpty(this.state.payPalMeUsername.trim()) only or add it in the current logic like this
isDisabled={(this.state.payPalMeUsername === this.props.payPalMeData.description) || `_.isEmpty(this.state.payPalMeUsername.trim())`}

@sophiepintoraetz  new BZ chore SO is here, we want to ensure BZ stays assigned to all issues so we can get to BugZero,

@kavimuru - please make sure you're filling out this section here in your issues

Also, I am able to replicate the issue on web and iOS so sending over to engineering.

@pecanoro
@Puneet-here Proposal looks good!
C+ Reviewed
🎀 👀 🎀

Job posted!

@Puneet-here Assigned!

Job posted here

Hey @sophiepintoraetz, just dropping a note as a reminder to keep the pressure on to find a contributor and get this one closed out.
cc @Puneet-here and @Santhosh-Sellavel how far away do we think this is? I see updates to the PR as recent as yesterday and curious if this is coming close yet?

Requested changes yesterday. The Recent changes had been done 10 hours ago. Waiting for my review will get to it tomorrow!

@Puneet-here Please post a message once the requested changes are done, not sure if is this ready for review again.

Excellent! I'll leave it to @pecanoro from here to help move it forward.

@Puneet-here Please post a message once the requested changes are done, not sure if is this ready for review again.

It's ready.

Not overdue PR is waiting for review from @pecanoro

@Santhosh-Sellavel - would you mind answering the following please:

The PR that introduced the bug has been identified. Link to the PR:

@Tushu17 and @Santhosh-Sellavel - can you please apply for the Job posted! Then we can close this one out!

Bump @Santhosh-Sellavel (offer is in your inbox, @Tushu17!)

All right - closing the issue coz payment is done! @Santhosh-Sellavel - feel free to reach out to me and/or respond to the offer in Upwork.

@sophiepintoraetz You could hire me straight away as you have an option to do so.
 Only when you hire me I will receive an offer, which will show up on messages.

Applied for the job now!


Rubcop has style, who knew?

Fix the code example in the Triangle Facts exercise so that it conforms to the Ruby style guide. Which style guide who knows?

You did an excellent job in this exercise! You're ready for the next one.

@ericbrooke Nice work on this exercise! Very minor comments. For future exercises, I'd recommend making methods private if they aren't calling from outside the class.


From Moby: Windows Container DNS Not Configured Correctly On VPN

Creating a ref to an issue reported on the Moby repo https://github.com/moby/moby/issues/43273 by @grochoge
Description
DNS resolution does not work inside of Windows docker containers.
 : Disabled

My understanding is <IP_ADDRESS> only resolves other Docker containers.
<IP_ADDRESS> is a DNS server configured for a TAP adapter with status "Network Cable Unplugged" so Docker should not be trying to use this.
I have two DNS servers configured by my VPN connection (PPP) that should be used instead (or at least in addition).
Steps to reproduce the issue:

Assign static DNS to disconnected TAP adapter
Connect to PPP VPN
Launch Windows docker container: docker run --rm -it mcr.microsoft.com/windows:ltsc2019
Attempt to resolve DNS addresses

Describe the results you received:
Address resolution fails for things inside and outside VPN
Describe the results you expected:
Address resolution succeeds
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:           20.10.9
 API version:       1.41
 Go version:        go1.16.8
 Git commit:        c2ea9bc
 Built:             Mon Oct  4 16:11:10 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.9
  API version:      1.41 (minimum version 1.24)
  Go version:       go1.16.8
  Git commit:       79ea9d3
  Built:            Mon Oct  4 16:06:39 2021
  OS/Arch:          windows/amd64
  Experimental:     false

Output of docker info:
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.9
 Storage Driver: windowsfilter
  Windows:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: hyperv
 Kernel Version: 10.0 19042 (19041.1.amd64fre.vb_release.191206-1406)
 Operating System: Windows 10 Enterprise Version 2009 (OS Build 19042.1526)
 OSType: windows
 Architecture: x86_64
 CPUs: 16
 Total Memory: 31.73GiB
 Name: GH353DK3E
 ID: DOYF:TVED:ZTJN:KVMP:AD6F:VJRJ:ZQS4:GUR6:KXLZ:UFOU:4RSJ:Y4ZT
 Docker Root Dir: C:\ProgramData\docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine
Additional environment details (AWS, VirtualBox, physical, etc.):

Still investigating.

Closing because the Issue has gone stale and we haven't received a follow-up response from https://github.com/moby/moby/issues/43273.


IME UI does not follow the cursor in Windows Terminal

This bug-tracker is monitored by Windows Console development team and other technical types.  We like detail!
If you have a feature request, please post to the UserVoice.

Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues. Instead, send dumps/traces to<EMAIL_ADDRESS>referencing this GitHub issue.

Please use this form and describe your issue, concisely but precisely, with as much detail as possible

Your Windows build number:  (Type ver at a Windows Command Prompt)
10.0.18890.1000

What you're doing and what's happening: (Copy & paste specific commands and their output, or include screen shots)
Build & run the new Windows Terminal, and type something using IME (I am using Microsoft Pinyin IME)

What's wrong / what should be happening instead:
The IME UI appears in the upper left corner of the screen, not following the current cursor.

This is something we're working on currently!

@philnach's so kindly volunteered to look at it. I may even assign it to him! :smile:

@driver1998, thanks! @DHowett-MSFT, send it my way.

So this is the same issue that makes the IME UI with a green arrow appear when opening the emoji panel? In #1557 I wasn't expecting that UI at all.

It sure is! The toolbar with the green arrow is actually a fallback UI for when the application doesn't explicitly say "Here's an input handler!"


webview_create does not return NULL when failed to create webview (with a fix code)

What OS are you using (uname -a, or Windows version)?
Windows 10 x64
What programming language are you using (C/C++/Go/Rust)?
C++ (MSVC and Mingw) and C
What did you expect to see and what you saw instead?
For example
int main() {
    auto w = webview_create(1,NULL);
    if (!w) {
        cout << "Failed to create webview. Exiting" << endl;
        getchar();
        return 1;
    }

    webview_navigate(w,"https://example.com");
    webview_run(w);
    webview_destroy(w);
}

When webview2 runtime is not installed, the webview_create shoud return NULL and the program print Failed to create webview. Exiting, but w is not NULL , actually the program crashed because access to nullptr before returning w at
https://github.com/webview/webview/blob/a81a153f8c2fe640a9a8232c170ff7830df2f7de/webview.h#L1093
Reason
The reason may be, in webview_create:
https://github.com/webview/webview/blob/a81a153f8c2fe640a9a8232c170ff7830df2f7de/webview.h#L1434-L1441
The window is created successfully but the webview is not.
A solution
One solution could be replacing https://github.com/webview/webview/blob/a81a153f8c2fe640a9a8232c170ff7830df2f7de/webview.h#L1091
with
bool is_embed_success = embed(m_window, debug, cb);
if (!is_embed_success) {
    DestroyWindow(m_window);
    m_window = NULL;
    return;
}

So that if failed to create webview, the window is destroyed and set to NULL. Nothing else need changing.
A better solution could be checking webview support before creating window.
It works on my machine.
Others
In C++ we may use catch, but for Java,Kotlin,etc. bindings, we have to use C API.

Thank you for the report! Ideally we should have an early check as well as checking the return value of embed(). For now I have submitted the following PR with a simple early check to fix the described issue.

#807

Is this fix sufficient for your use case?

Thank you SteffenL! This fix is sufficient and the my Kotlin/Native binding now can throw the exception when Webview2 is not installed instead of crashing.


(chore) Ease the process of adding mutliple validation of ChaosEngine

Signed-off-by: Rahul M Chheda<EMAIL_ADDRESS>
What this PR does / why we need it:

Purpose of this PR is to ease the process of defining the functions for validation on ChaosEngine Object(as a template is now available in form of annotationCheck).
This help to standardize the function definition, and help in collecting the errors produced by them.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
How does this PR help?
So, for example, a contributor wants to add a function for the validation of namespace.
Steps needed to be performed:

Need for a function definition with syntax similar to this one func namespaceValidation(ce *crv1alpha1.ChaosEngine) error is to be defined.
And then append this function name to this line https://github.com/litmuschaos/admission-controllers/pull/10/files#diff-2351c76b931b04dcaa68b4d83b8cb372R200, which looks something like: err = wh.CollectValidationErrors(&chaosEngine, wh.ValidateChaosTarget, wh.namespaceValidation)

Checklist:

[ ] Fixes #
[ ] Labelled this PR & related issue with documentation tag
[ ] PR messages has document related information
[ ] Labelled this PR & related issue with breaking-changes tag
[ ] PR messages has breaking changes related information
[ ] Labelled this PR & related issue with requires-upgrade tag
[ ] PR messages has upgrade related information
[ ] Commit has unit tests
[ ] Commit has integration tests

Looks good @rahulchheda . Wondering if we should rename this file to appFilterCheck over annotation - considering  we now have the option to skip appinfo completely OR run w/ annotationCheck disabled


Rancher not accessible using nginx as ingress controller

Hey,
I stumbled across this and wanted to try it. I had set the rancher hostname to rancher.mydomain.com and enabled rancher, the pods also get deployed. I use nginx as ingress controller.
I pointed then the DNS to the IP of the Hetzner LB, but when I access the domain it gives me a 404.
cattle-system               rancher-58b9c7b76d-2txsx                                          1/1     Running     0          2m25s
cattle-system               rancher-58b9c7b76d-4bl4n                                          1/1     Running     0          2m25s
cattle-system               rancher-58b9c7b76d-t4f29                                          1/1     Running     0          2m25s
cattle-system               rancher-webhook-576c5b6859-hdvsx                                  1/1     Running     0          23s
cert-manager                cert-manager-877fd747c-n5jnr                                      1/1     Running     0          2m25s
cert-manager                cert-manager-cainjector-bbdb88874-pf2b8                           1/1     Running     0          2m25s
cert-manager                cert-manager-webhook-5774d5d8f7-c82jf                             1/1     Running     0          2m25s
kube-system                 coredns-b96499967-7crwm                                           1/1     Running     0          3m39s
kube-system                 hcloud-cloud-controller-manager-947cccf88-jrc44                   1/1     Running     0          2m25s
kube-system                 hcloud-csi-controller-0                                           5/5     Running     0          2m25s
kube-system                 hcloud-csi-node-2xwv4                                             3/3     Running     0          5m1s
kube-system                 hcloud-csi-node-6xjp5                                             3/3     Running     0          5m1s
kube-system                 hcloud-csi-node-82chj                                             3/3     Running     0          5m1s
kube-system                 hcloud-csi-node-96sqt                                             3/3     Running     0          5m1s
kube-system                 hcloud-csi-node-9xh8n                                             3/3     Running     0          5m1s
kube-system                 hcloud-csi-node-gpzbx                                             3/3     Running     0          5m1s
kube-system                 helm-install-ngx-64k47                                            0/1     Completed   0          5m1s
kube-system                 kured-75vms                                                       1/1     Running     0          4m45s
kube-system                 kured-frd9h                                                       1/1     Running     0          4m42s
kube-system                 kured-jqq6z                                                       1/1     Running     0          4m41s
kube-system                 kured-mqbvz                                                       1/1     Running     0          4m44s
kube-system                 kured-v22cm                                                       1/1     Running     0          4m50s
kube-system                 metrics-server-668d979685-knqhl                                   1/1     Running     0          3m39s
kube-system                 ngx-ingress-nginx-controller-59cbbf49b8-jtnqr                     1/1     Running     0          2m25s
kubectl get service -A
NAMESPACE             NAME                                     TYPE           CLUSTER-IP      EXTERNAL-IP                           PORT(S)                      AGE
cattle-fleet-system   gitjob                                   ClusterIP      <IP_ADDRESS>                                   80/TCP                       9m36s
cattle-system         rancher                                  ClusterIP      <IP_ADDRESS>                                    80/TCP,443/TCP               12m
cattle-system         rancher-webhook                          ClusterIP      <IP_ADDRESS>                                    443/TCP                      9m17s
cattle-system         webhook-service                          ClusterIP      <IP_ADDRESS>                                    443/TCP                      9m17s
cert-manager          cert-manager                             ClusterIP      <IP_ADDRESS>                                    9402/TCP                     13m
cert-manager          cert-manager-webhook                     ClusterIP      <IP_ADDRESS>                                    443/TCP                      13m
default               kubernetes                               ClusterIP      <IP_ADDRESS>                                       443/TCP                      14m
kube-system           hcloud-csi-controller-metrics            ClusterIP      <IP_ADDRESS>                                    9189/TCP                     13m
kube-system           hcloud-csi-node-metrics                  ClusterIP      <IP_ADDRESS>                                   9189/TCP                     13m
kube-system           kube-dns                                 ClusterIP      <IP_ADDRESS>                                      53/UDP,53/TCP,9153/TCP       14m
kube-system           metrics-server                           ClusterIP      <IP_ADDRESS>                                   443/TCP                      14m
kube-system           ngx-ingress-nginx-controller             LoadBalancer   <IP_ADDRESS>    <IP_ADDRESS>,2a01:4f8:c01e:228::1   80:30237/TCP,443:31984/TCP   13m
kube-system           ngx-ingress-nginx-controller-admission   ClusterIP      <IP_ADDRESS>                                   443/TCP                      13m
kubectl get ingress -A
NAMESPACE       NAME      CLASS    HOSTS                 ADDRESS   PORTS     AGE
cattle-system   rancher    cluster.mydomain.de             80, 443   13m
It seems like it doesnt get an address. This may be related to it? https://github.com/rancher/rancher/issues/35887
Any ideas on this? Thank you.

Yes, that fixed it https://github.com/rancher/rancher/issues/35887
You may consider adding it anywhere?

@

The Rancher helm installer was giving me this error :
INSTALLATION FAILED: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Ingress.spec.tls[0].hosts):
It turned out it was just the rancher_hostname missing.

Actually it works out of the box, just make sure to set the rancher_hostname.

@mysticaltech But am I missing something? Isnt it required to deploy the ingress controller on each node if you point the load balancer on all nodes? Or what happens if I access the ports for the controller and there is no controller deployed on it? Will the request be forwarded to a node with the controller on it?

You need to read more on how Ingress controllers work. The request enters via the LB and is routed to the active instance; it does not matter which host it runs on. And itself will route it to the right service via ingress definitions.

Okay, thats what I thought too. I was just curious because I deployed it a few hours ago, and received a "Service not available" and then saw one rancher pod died and restarted multiple times. It also happened when I try to install Longhorn. Do you have an idea why this happens? I did 2 fresh installs and it happend on both, so it wont be a problem to reproduce it later.


Cannot run on Linux.

Hi,
When I try running hxScout on Linux, I get this error message:
"cannot execute binary file: Exec format error"
I am running x32 Ubuntu 16.04.1 LTS on Virtualbox.
I fot the exe from the download page: http://hxscout.com/download.html
Is there anywhere else I can check for more version?
If I cannot find a way to launch it, can I connect to hxscout remotly? Any doc  on how to do so?
Thanks.

Hmm, yes, I suppose chances are it's a 64-bit build. I'll see if I can do a 32-bit build later today.

Blast, I didn't find a working build env just sitting around... It might be a bit before I can get to it. Sorry.

Okay, thanks, I'll be waiting.
I started porting all my code to Java anyway.
Haxe doesn't seem like the best fit for my first big server application. Hard to debug multi-threading.
Made me waste a few weeks...