Help Wanted with PR #1142 add support for multi-tileset layers

Refer to #1142
Summary: I'm trying to implement multi-tileset layers and for some reason I had this weird bug that I spent 3 days on but to no avail.
My implementation is simple. First, I extracted every field that can belong to one or more layers and made a FastTMXSubLayer struct that has those fields, second I made in array inside of FastTMXLayer and that array holds FastTMXSubLayers as much as the layer has tilesets used, pretty simple so far. this worked right off the bat! but with some tilemaps weirdly enough I get this bug mentioned in #1142 seems like the _tiles static array needs to be copied too for each subLayer but that doesn't seem logical because it's not getting changed, also this bug seems to occur IF the first tileset's texture size is smaller than the other tileset's texture which is the thing that struck me the most, Any help would be appreciated!

@DelinWorks
Please add a little more info on the title?
Like:  Help Wanted with PR #1143:  Add support for TMX multi-tileset layers
Thanks.

@DelinWorks ,
Im currently Not familiar with the tileset Implementation but myvidea about this this bug seems to occur IF the first tileset's texture size is smaller than the other tileset's texture which is the thing that struck me the most, Any help would be appreciated!
Why not using a 'scaled' tileset copy which all.have the same size?

@halx99
Please add 'pinned'

@halx99
please add "pinned".
I think the easiest way is to generate an own 'FastTMXLayer'/'FastTMXSubLayer' format for 'multi-tileset layers'.

@DelinWorks
As far as I know, you working on an "support for multi-tileset layers" with axmol, right?
@halx99
Maybe it usefull to add it this issue to the axmol-2.0 project (also the "Multiple textured layers #617") ?

"Is this feature finished?" or "Is this feature still being worked on?"

@halx99 "Is this feature finished?" or "Is this feature still being worked on?"

@halx99 axmol2.0 "Is this feature finished?" or "Is this feature still being worked on?"

Not sure, becase I have not time to check it, original author is @DelinWorks you can ask.

@DelinWorks axmol2.0 "Is this feature finished?" or "Is this feature still being worked on?"

I tried to solve this issue, but every time I get artifacts, the tilemap renderer might need a complete rewrite, which I haven't gotten into for a while


chore: release 0.2.1

:robot: I have created a release beep boop
0.2.1 (2023-03-23)
Bug Fixes

readme (5158744)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aepfli/lifecycle-toolkit/releases/tag/v0.2.1 :sunflower:


Otel loadbalancer

Description
This PR addresses issue # 60 in the wg-prometheus repo. This is part 2 of a 2 part update in which enhancements are presented to the OTel Operator to support the deployment of a load balancer. This update contains the logic for the Operator Managed Load balancer image which will be used to perform target sharding for the Prometheus scrape targets and expose them to the collector(s) for consumption using http sd config.
The Design document for this part 2 can be found here:
https://quip-amazon.com/1tASAhqfPBUM/Load-Balancer-Least-connection-implementation-details
Type of change
New feature
Testing
Unit tests were added to test the least connection algorithm flow as well as updating and removing targets.
More testing details can be found on the doc mentioned above.
cc: @alolita @Aneurysm9 @rakyll @Raul9595

@Aneurysm9 I'm going to send some PRs for organization and styling. And it's easier to work on the otel-loadbalancer branch before reviewing this PR. Please don't review this PR yet.


requireJavaVersion and requireMavenVersion overly restrictive

The current settings don't work with JDK 1.8.0_60

My understanding here is to restrict developers working on unsupported platforms. At least until the support is official. I doubt in this case if we do support JDK ≥ 1.8 or mvn ≥ 4.

Closing, since now Drill is using newer Java and Maven versions.


added condition to include nav item only if url is not empty

What are the relevant tickets?
Closes  https://github.com/mitodl/hq/issues/5358
Description (What does it do?)
Menu items can be links to pages or external resource links. On rendering resources are pulled from DB. If the linked resource has been deleted, the menu item still renders and is broken. On click, it does not show any error but doesn't navigate anywhere either.
This PR aims to conditionally render menu items if it has a valid URL field. If deleted the related field is empty.
How can this be tested?

Create a test course on RC, add an External resource to its Menu, and Publish.
In your local themes repo, switch to branch main
Run command yarn start course <course-name-on-rc>, this should pull course from RC
Browse the pulled course on localhost:3000 and validate the menu item is added and navigable
After validation, go to the admin panel and delete the related External resource without removing it from menu
Publish the course. Remove the local copy of course and repeat steps 3 and 4. The nav item will be there but not navigable.
In your local themes repo, switch to branch umar/5358-allow-studio-user-to-delete-pages. The broken nav item will disappear.

How/when does this happen?

@pdpinch It happens when the resource has been deleted in the backend but its entry to menu items is still there. I have added the description. this is part of deleting pages PR.


Restore Support for NVTabular Workflow + PyTorch Model Export

Goal
Restores support for NVTabular Workflow + PyTorch ensemble with merlin.systems.triton.export.export_pytorch_ensemble
Implementation Details

ragged inputs/outputs not currently handled correctly. Updating the Triton config to match the tensor shapes as 1D arrays.
Using the output_model parameter of merlin.systems.triton.export.generate_nvtabular_model to configure which Workflow class is used to apply post-processing of the worflow transformed data.
Corrects the path to the pytorch model file so that the export_pytorch_ensemble runs and picks up the correct python model.
pytorch_model.py - handle a tensor output from the model (now the default output of Transformers4Rec - this changed recently) as well as a dictionary of tensors.
the helper function to create input data for requests was passing offsets instead of row lengths into the __lengths input tensor

@oliverholworthy Is this actually being used somewhere? AFAIK, we're using the version of export_pytorch_ensemble in NVTabular. The version of that code living here got copied over when Systems was created and exists here as somewhat of an artifact of the development process. (I don't object to patching it up, just want to make sure we're on the same page.)

@karlhigley I arrived at this PR from the goal of trying to get an operator-based ensemble of NVTabular Workflow + Transformers4Rec PyTorch model working together. And was using this legacy function as a comparison. And while looking at that, noticed that some changes were required to make that work.
Once we get the operator version working we won't need this function. However for now, maybe it's worth getting it running again. Then we maybe don't need to merge #233

@oliverholworthy The version of the code in NVT is mostly frozen in a working configuration; the version in this library wasn't ever intended to be used, it just served as a starting point for refactoring in the direction of the operator API. Since the legacy inference code didn't have great tests, there's not a great way to make sure that code keeps working without either freezing it in place (like in NVT) or wrapping it with new tests (here in Systems.) If you want to pursue the latter to build a working version of the old code in this library, I won't stand in your way, but it seemed like a lot of work to fix code we don't recommend that anyone uses. 🤷🏻
It sounds like you might be aiming to remove the legacy inference code in NVT though? That would be cool!

@rnyak @angmc @nv-alaiacano With Oliver out, I'm trying to work backwards to figure out what the original need was and if there's another way to fulfill it. I suspect one of y'all might know: Was this for examples, GTC, AI Workflows, or all/none of the above?


Run "make lint" and "make reformat" inside docker container

Continuing https://github.com/pypa/warehouse/pull/4961

@shevelevs @xni @jpurviance  would you like to review this and see whether it makes your developer environment setup more painless?


Update Working with time notebook

Proposed changes
Added background section. Broke up "Indexing by time" section and formatted headings as a result.
Checklist (replace [ ] with [x] to check off)

[x] Remove any unused Python packages from Load packages
[x] Remove any unused/empty code cells
[x] Remove any guidance cells (e.g. General advice)
[ x Ensure that all code cells follow the PEP8 standard for code. The jupyterlab_code_formatter tool can be used to format code cells to a consistent style: select each code cell, then click Edit and then one of the Apply X Formatter options (YAPF or Black are recommended).
[x] Include relevant tags in the final notebook cell and re-use tags if possible
[x] Clear all outputs, run notebook from start to finish, and save the notebook in the state where all cells have been sequentially evaluated

For @caitlinadams to review


IAM doesn't support v4 signatures (china, frankfurt)

Hello,
I installed the yum-s3-iam and finished the configuration for repo and aws permission in aws china. but IAM support doesn't work.
baseurl is https://rio-yum-repo.s3.cn-north-1.amazonaws.com.cn
return HTTP Error 400: Bad Request.
AWS support replied my question:
The "HTTP Error 400: Bad Request" was thrown out because s3iam doesn't support AWS signature version 4, which is the only support option in Beijing region.
s3iam only support AWS signature version 2, so you may need to submit a feature request to its author or modify source code by yourself to implement signature version 4. You can find some reference below on how to sign with version 4
http://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html
will it be fixed in the future?
Best Regards

Curious if this is in the pipeline.  I'm facing the same issue in a region that only supports signature version 4.  Duplicated lobida's issue in the frankfurt region.

The good thing is that according to this once we have v4 signature working it would work everywhere.

I actually have this working.  I just want to double check with work and confirm it is not an issue for me to contribute the code back.  CYA or CMA in this case.

I'm excited to see your changes, I poked around for a little, but couldn't get it working!

@asedge: Wonderful. I've mostly been looking at the problem, nothing working right now. Wether or not you can contribute the code, let me know how you want to proceed.

@lobida and @Cinderhaze (or anyone else interested) could you test the v4_signature branch?
You need to add to the .repo file the following lines (where <region> is the bucket region):
   region=<region>
   v4_signature=1

I guess you couldn't wait. I posed the question at work but got no immediate response yesterday.
Anyway, I don't think there's a compelling reason to keep SigV2 support. Every region supports SigV4 from what I understand and new regions only support V4.

I'm still keeping the V2 code while we test. Depending on the results and the feedback, we'll see if we leave V2 as an option or remove it completely. But I agree with you the best solution is to get rid of V2.

I was just skimming over the code, didn't get a chance to test yet..  Shouldn't the last line (235) have 't' being passed to it?
@@ -222,11 +227,12 @@ def urlread(self, url, limit=None, **kwargs):
229  -        date = time.strftime("%a, %d %b %Y %H:%M:%S GMT", timeval or time.gmtime())
234 +        t = timeval or time.gmtime()
235 +        date = time.strftime("%a, %d %b %Y %H:%M:%S GMT", )

@Cinderhaze nice catch. I fixed that in [aad51da].

I was trying to test it out on EU - frankfurt.
I have my project from when I was testing out the repo earlier...
https://github.com/Cinderhaze/s3-repo-sandbox
I

pre-populated the repo
created an ec2 in the Frankfurt region
installed git
cloned my repo
ran my init script, which installs puppet and pulls down the vcsrepo puppet module, and moves all of the existing yum repos out into /tmp/
used puppet apply to run my .pp file

Here is the output from the repo I created
[s3-iam]
name=S3 iam - Testing - $basearch - Source
baseurl=http://dawiest-repo.s3.amazonaws.com/noarch
enabled=1
gpgcheck=0
s3_enabled=true
region=EU
v4_signature=1```

Here is what I have in my s3 repo.
```[ec2-user@ip-x-x-x-x yum-s3-iam]$ aws --region=eu-central-1 s3 ls s3://dawiest-repo --recursive
2015-11-06 01:26:52      14540 noarch/epel-release-6-8.noarch.rpm
2015-11-06 01:26:53        377 noarch/repodata/filelists.xml.gz
2015-11-06 01:26:53        921 noarch/repodata/other.xml.gz
2015-11-06 01:26:53        929 noarch/repodata/primary.xml.gz
2015-11-06 01:26:54        951 noarch/repodata/repomd.xml```

Here is my attempt to search my repo.
```[ec2-user@ip-x-x-x-x yum-s3-iam]$ yum search epel
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
...
failure: repodata/repomd.xml from s3-iam: [Errno 14] HTTP Error 400: Bad Request on repodata/repomd.xml```

I replaced region=EU with region=eu-central-1, and got the following output
```[ec2-user@x-x-x-x yum-s3-iam]$ yum search epel
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
...
failure: repodata/repomd.xml from s3-iam: [Errno 14] HTTP Error 403: Forbidden on repodata/repomd.xml```

Do you have an instance role set up to give you access to the S3 bucket?

Yep, because I could do my aws ls command to print it's contents...
It contains AmazonS3FullAccess and AmazonS3ReadOnlyAccess

Could you try with:
baseurl=https://dawiest-repo.s3-eu-central-1.amazonaws.com/noarch

in addition to the other two values?  Should I use region=EU or region=eu-central-1?

region=eu-central-1

Same.

[ec2-user@ip-172-31-15-215 yum-s3-iam]$ yum search epel
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
...
failure: repodata/repomd.xml from s3-iam: [Errno 14] HTTP Error 403: Forbidden on >repodata/repomd.xml

[ec2-user@ip-x-x-x-x yum-s3-iam]$ cat /etc/yum.repos.d/s3-iam.repo
[s3-iam]
name=S3 iam - Testing - $basearch - Source
baseurl=http://dawiest-repo.s3-eu-central-1.amazonaws.com/noarch
enabled=1
gpgcheck=0
s3_enabled=true
region=eu-central-1
v4_signature=1

s3.amazonaws.com is the endpoint for S3 buckets in us-east-1 region (USA North Virginia).
Also for everything with credentials, I prefer using https://

I switched from http to https, same result

Ok thank you.
I'll try creating an instance and a bucket in eu-central-1 tonight to see if I can reproduce.

I'm not sure if you can send a direct message on github..  If you give me your public key, I can add it to the ec2 user on the instance and somehow send you the ec2 public address

We'll do that later, after I make my own tests. Thank you again.

I've reproduce the error (on eu-central-1), and found an error I introduced when doing the commit.
It worked for me with this new commit.

Pulled down your most recent change, and I report success!

[ec2-user@ip-x-x-x-x yum-s3-iam]$ yum search epel
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
s3-iam                                                                      1/1
============================== N/S matched: epel ===============================
epel-release.noarch : Extra Packages for Enterprise Linux repository
: configuration
Name and summary matches only, use "search all" for everything.

@Cinderhaze: thanks for testing.
@asedge. I think the next step is linked with #30. We need to decide on the URL syntaxes we want to support, because if the region is contained in the URL we wouldn't need the region setting.

{scheme}://{bucket}.{s3_endpoint}/{path}
{scheme}://{s3_endpoint}/{bucket}/{path}
s3://{bucket}/{path}

Where:

{scheme}: http, https or s3.

If {scheme} is http or https, s3_enabled=1 is needed.
If {scheme} is s3, for case (3), region={region} is needed, unless we implement some form of detection (either query the bucket, or assume from the instance's placement).

{bucket}: bucket name (if it contains dots some extra care might be needed)
{s3_endpoint}: s3 endpoint with region, typically s3-{region}.amazonaws.com (special case for us-east-1)
{path}: path in bucket to repo

Once we get all the information, I would be tempted to use (except maybe http when http is requested):
https://s3-{region}.amazonaws.com/{bucket}/{path}

@mbrossard I pushed a commit to your branch that will grab the region from the metadata service if it wasn't specified in the config file.  It's very similar to get_credentials().
@Cinderhaze Could I trouble you to try it out?

@mbrossard - It would be nice to have the information inferred from the url, because the other additional fields aren't a part of the puppet 'Yumrepo' resource, so I have to manage the file directly with puppet instead of just using the built in resource type
@asedge - I'll try to get to it tonight!

@Cinderhaze: that's a really good point. The syntax s3://s3-{region}.amazonaws.com/{bucket}/{path} would allow that.
(The syntax s3://{bucket}.s3-{region}.amazonaws.com/{path} would also work, but {bucket} values with dots need to switch url format to avoid issues with https)

@Cinderhaze Thanks!  We would just need to submit a PR that was something like this (https://github.com/puppetlabs/puppet/commit/cd9135f68b13912e2b5cefe684d1c8a6d9e43551) to add new params to the yumrepo resource in Puppet.  It's how s3_enabled got added after all.
@mbrossard Both of those URLs should work fine with the code from #30.  We would just need to add something to parse the region out of the URL in the case that the instance didn't reside in the same region.  The region supplied in a URL should disable auto detection.

@asedge - it looks like they were iffy on adding the 's3_enabled' flag as is, and don't want to add to many one-off flags to the resources.  Also, given that we can interpret the needed information from the url, that seems like the cleaner solution.

@asedge, I tried testing out your changes this morning, and they don't work with both including and not including the region.  I think something is broken with the header creation.
The values reported from the ec2 metadata service call are different than the values returned in the error message (the facter fact pulls down the values from the metadata - access/secret slightly munged for security)

[ec2-user@ip-x-x-x-x yum-s3-iam]$ yum search epel
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 367, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 174, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 572, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File "/usr/share/yum-cli/yumcommands.py", line 1728, in doCommand
return base.search(extcmds)
File "/usr/share/yum-cli/cli.py", line 1441, in search
for (po, keys, matched_value) in matching:
File "/usr/lib/python2.7/dist-packages/yum/init.py", line 3176, in searchGenerator
for sack in self.pkgSack.sacks.values():
File "/usr/lib/python2.7/dist-packages/yum/init.py", line 1077, in
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.7/dist-packages/yum/init.py", line 782, in _getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 383, in populateSack
sack.populate(repo, mdtype, callback, cacheonly)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 250, in populate
if self._check_db_version(repo, mydbtype):
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 342, in _check_db_version
return repo._check_db_version(mdtype)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1520, in _check_db_version
repoXML = self.repoXML
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1706, in
repoXML = property(fget=lambda self: self._getRepoXML(),
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1702, in _getRepoXML
self._loadRepoXML(text=self.ui_id)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1693, in _loadRepoXML
return self._groupLoadRepoXML(text, self._mdpolicy2mdtypes())
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1667, in _groupLoadRepoXML
if self._commonLoadRepoXML(text):
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1492, in _commonLoadRepoXML
result = self._getFileRepoXML(local, text)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1270, in _getFileRepoXML
size=102400) # setting max size as 100K
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1058, in _getFile
**kwargs
File "/usr/lib/yum-plugins/s3iam.py", line 223, in urlgrab
response = urllib2.urlopen(request)
File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 431, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 449, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1242, in https_open
context=self._context)
File "/usr/lib64/python2.7/urllib2.py", line 1196, in do_open
h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib64/python2.7/httplib.py", line 1053, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python2.7/httplib.py", line 1092, in _send_request
self.putheader(hdr, value)
File "/usr/lib64/python2.7/httplib.py", line 1031, in putheader
raise ValueError('Invalid header value %r' % (one_value,))
ValueError: Invalid header value 'AWS >ASIAI2IZxxxxxxxxA57Q:TBNEVxxxxxxxxMzIs/YPzxxxxKw=\n'
[ec2-user@ip-x-x-x-x yum-s3-iam]$ facter ec2_iam_security_credentials_s3access_4
"AccessKeyId" : "ASIAI2IZxxxxxxxxA57Q",
[ec2-user@ip-x-x-x-x yum-s3-iam]$ facter ec2_iam_security_credentials_s3access_5
"SecretAccessKey" : "jGiDCTxxxxxxxxVtCjebzSaZxYnJYGA/+lxxxxvo",

@Cinderhaze I didn't change any of the code regarding credentials.  See the diff: https://github.com/seporaitis/yum-s3-iam/commit/026439d634f8805f9205735b24d6fd25e53ff7e4.
I just tried this on both CentOS 6 (python2.6) and CentOS 7 (python2.7) and it works fine for me.  The code I added just means you don't need to specify the region= in your yumconf if the s3 bucket resides in the same region as your instance.  What does your repo conf look like?

Hrm, you're right... Though I am still seeing the error (I even hopped back to the previous commit to verify).

[ec2-user@ip-x-x-x-x yum-s3-iam]$ cat /etc/yum.repos.d/s3-iam.repo
[s3-iam]
name=S3 iam - Testing - $basearch - Source
baseurl=https://dawiest-repo.s3-eu-central-1.amazonaws.com/noarch
region=eu-central-1
enabled=1
gpgcheck=0
s3_enabled=true

Was there a different configuration that you wanted to see?  I used the above with the previous checkout, and removed the region line for testing your checkout, both show the same error above, though it was working for me yesterday.  Curious.

Looking into the error.. "ValueError: Invalid header value ....\n"... leads me to this thread (https://github.com/scrapinghub/splash/issues/241) which points to http://bugs.python.org/issue22928 .. " It is not safe to use header values with new lines (besides some specific cases), so Python stdlib disallows it now"

I've been under the weather for almost two weeks, which has cut down my time to work on this.
I want to support v4 signatures but I also don't want to break existing configuration, which means we'll probably need to keep v2 signatures around.
My strategy (currently) would be:

Add support for s3://s3-{region}.amazonaws.com/{bucket}/{path} (and s3://{bucket}.s3-{region}.amazonaws.com/{path}) based on #30, which would use v4 signature.
For old-style URLs (with s3_enabled), if URL contains the region, we could use v4 signature.
Fallback to v2 signature. Eventually, if v2 is discontinued we could add a GET Bucket location in the fallback case.

What do you think?

I think the v4_scheme branch is almost ready to be merged. I'll wait a few days to give you some time to test if you can.

Fixed in 1.1.0


Update commons-io to 2.15.1

About this PR
📦 Updates commons-io:commons-io from 2.13.0 to 2.15.1
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "commons-io", artifactId = "commons-io" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "commons-io", artifactId = "commons-io" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #4412.


Call long function names

This is a 🐞 bug fix.

[ ] I've added tests (if it's a bug, feature or enhancement)
[ ] I've adjusted the documentation (if it's a feature or enhancement)
[x] The test suite passes (run bundle exec rspec to verify this)

Summary
Whenever function names longer than the 64 char limit, Jets detects this and elects to have CloudFormation to generate the function names instead. This was done here: https://github.com/tongueroo/jets/issues/160
Fixed the jets call method so it is aware of longer function names. Here's a test:
$ jets call admin-books_controller-very_long_method_name_that_is_over_the_limit_for_pretty_function_names | jq '.statusCode'
Calling lambda function demo-dev-AdminBooksContro-VeryLongMethodNameThatIs-1PWH67DBFV89T on AWS
Function name: demo-dev-AdminBooksContro-VeryLongMethodNameThatIs-1PWH67DBFV89T
"200"
$

Context
Related: https://community.rubyonjets.com/t/prewarm-function-guesses-errors/206
Version Changes

Released in v1.9.28


Resolves #59: support backup to multiple storages

enable storages option
backward compatible with store_with
dedicated cycler config file for each backup storage

    store_with:
      type: local
      keep: 1
      path: /tmp/demo
    storages:
      local1:
        type: local
        keep: 2
        path: /tmp/demo1
      s3:
        type: s3
        keep: 3
        bucket: wasabi2022
        region: ap-northeast-1
        endpoint: s3.ap-northeast-1.wasabisys.com
        path: backups/demo
        access_key_id: xxxxxxxxxxxxxxxxxxxx
        secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2022/12/01 19:45:14 [Modal: demo] WorkDir: /tmp/gobackup/1669952714853234082/demo
2022/12/01 19:45:14 [Database] => database | postgresql : postgresql
2022/12/01 19:45:14 [PostgreSQL] -> Dumping PostgreSQL...
2022/12/01 19:45:14 [PostgreSQL] dump path: /tmp/gobackup/1669952714853234082/demo/postgresql/postgresql/demo.sql
2022/12/01 19:45:14 [Database]
2022/12/01 19:45:14 [Compressor] => Compress | xz
2022/12/01 19:45:15 [Compressor] -> /tmp/gobackup/1669952714853234082/2<IP_ADDRESS>.45.14.tar.xz
2022/12/01 19:45:15 [Storage] => Storage | local
2022/12/01 19:45:15 [Local] Store successed /tmp/demo
2022/12/01 19:45:15 [Storage] => Storage | local
2022/12/01 19:45:15 [Local] Store successed /tmp/demo1
2022/12/01 19:45:15 [Storage] => Storage | s3
2022/12/01 19:45:15 [AWS S3] -> Uploading (0 MiB)...
2022/12/01 19:45:16 [AWS S3] => https://s3.ap-northeast-1.wasabisys.com/wasabi2022/backups/demo/2<IP_ADDRESS>.45.14.tar.xz
2022/12/01 19:45:16 [AWS S3] => s3://wasabi2022/backups/demo/2<IP_ADDRESS>.45.14.tar.xz
2022/12/01 19:45:16 [AWS S3] Duration 1 second 502 milliseconds, rate 1.0 MiB/s
2022/12/01 19:45:16 [Model] Cleanup temp: /tmp/gobackup/1669952714853234082/

2022/12/01 19:45:20 [Modal: demo] WorkDir: /tmp/gobackup/1669952720652119244/demo
2022/12/01 19:45:20 [Database] => database | postgresql : postgresql
2022/12/01 19:45:20 [PostgreSQL] -> Dumping PostgreSQL...
2022/12/01 19:45:20 [PostgreSQL] dump path: /tmp/gobackup/1669952720652119244/demo/postgresql/postgresql/demo.sql
2022/12/01 19:45:20 [Database]
2022/12/01 19:45:20 [Compressor] => Compress | xz
2022/12/01 19:45:20 [Compressor] -> /tmp/gobackup/1669952720652119244/2<IP_ADDRESS>.45.20.tar.xz
2022/12/01 19:45:20 [Storage] => Storage | local
2022/12/01 19:45:20 [Local] Store successed /tmp/demo
2022/12/01 19:45:20 [Cycler] Removed 2<IP_ADDRESS>.45.14.tar.xz
2022/12/01 19:45:20 [Storage] => Storage | local
2022/12/01 19:45:20 [Local] Store successed /tmp/demo1
2022/12/01 19:45:20 [Storage] => Storage | s3
2022/12/01 19:45:20 [AWS S3] -> Uploading (0 MiB)...
2022/12/01 19:45:21 [AWS S3] => https://s3.ap-northeast-1.wasabisys.com/wasabi2022/backups/demo/2<IP_ADDRESS>.45.20.tar.xz
2022/12/01 19:45:21 [AWS S3] => s3://wasabi2022/backups/demo/2<IP_ADDRESS>.45.20.tar.xz
2022/12/01 19:45:21 [AWS S3] Duration 608 milliseconds 124 microseconds, rate 1.0 MiB/s
2022/12/01 19:45:21 [Model] Cleanup temp: /tmp/gobackup/1669952720652119244/

2022/12/01 19:45:26 [Modal: demo] WorkDir: /tmp/gobackup/1669952726786464912/demo
2022/12/01 19:45:26 [Database] => database | postgresql : postgresql
2022/12/01 19:45:26 [PostgreSQL] -> Dumping PostgreSQL...
2022/12/01 19:45:26 [PostgreSQL] dump path: /tmp/gobackup/1669952726786464912/demo/postgresql/postgresql/demo.sql
2022/12/01 19:45:26 [Database]
2022/12/01 19:45:26 [Compressor] => Compress | xz
2022/12/01 19:45:26 [Compressor] -> /tmp/gobackup/1669952726786464912/2<IP_ADDRESS>.45.26.tar.xz
2022/12/01 19:45:26 [Storage] => Storage | local
2022/12/01 19:45:26 [Local] Store successed /tmp/demo
2022/12/01 19:45:26 [Cycler] Removed 2<IP_ADDRESS>.45.20.tar.xz
2022/12/01 19:45:26 [Storage] => Storage | local
2022/12/01 19:45:26 [Local] Store successed /tmp/demo1
2022/12/01 19:45:26 [Cycler] Removed 2<IP_ADDRESS>.45.14.tar.xz
2022/12/01 19:45:26 [Storage] => Storage | s3
2022/12/01 19:45:26 [AWS S3] -> Uploading (0 MiB)...
2022/12/01 19:45:27 [AWS S3] => https://s3.ap-northeast-1.wasabisys.com/wasabi2022/backups/demo/2<IP_ADDRESS>.45.26.tar.xz
2022/12/01 19:45:27 [AWS S3] => s3://wasabi2022/backups/demo/2<IP_ADDRESS>.45.26.tar.xz
2022/12/01 19:45:27 [AWS S3] Duration 535 milliseconds 185 microseconds, rate 1.0 MiB/s
2022/12/01 19:45:27 [Model] Cleanup temp: /tmp/gobackup/1669952726786464912/

How about:
store_with:
  type: multiple
  storages:
    local1:
      type: local
      keep: 2
      path: /tmp/demo
    s3:
      type: s3
      keep: 3
      bucket: wasabi2022
      region: ap-northeast-1
      endpoint: s3.ap-northeast-1.wasabisys.com
      path: backups/demo
      access_key_id: xxxxxxxxxxxxxxxxxxxx
      secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

This means add a multiple type for store_with, so we can keep supports for old config rules.

store_with:
  type: local
  keep: 1
  path: /tmp/demo
storages:
  local1:
    type: local
    keep: 2
    path: /tmp/demo1

It supports the old config rules actually. The current way is merging store_with into storages logically and if user only needs one storage then it's okay to stick with store_with meanwhile if user desires multiple storages then storages should be configured.
store_with:
  type: multiple
  storages:
    local1:
      type: local
      keep: 2
      path: /tmp/demo
    s3:
      type: s3
      keep: 3
      bucket: wasabi2022
      region: ap-northeast-1
      endpoint: s3.ap-northeast-1.wasabisys.com
      path: backups/demo
      access_key_id: xxxxxxxxxxxxxxxxxxxx
      secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

store_with:
  type: local
  keep: 1
  path: /tmp/demo

If we add a multiple type for store_with then store_with has two config structures which look quite different.
The previous way is like store_with is still supported but somehow deprecated and storages is required for multiple storages, while the latter one is introducing a new config structure of store_with for multiple storages support. I'm not quite sure which way is better, what do you think?

Okey, let change to use storages, to same as the databases.
And you need add Deprecated warning, when use still use store_with

2022/12/02 00:37:51 [DeprecationWarning] "store_with" is deprecated now, please use "storages" which supports multiple storages.
2022/12/02 00:37:51 [Modal: demo] WorkDir: /tmp/gobackup/1669970271079006943/demo
2022/12/02 00:37:51 [Database] => database | postgresql : postgresql
2022/12/02 00:37:51 [PostgreSQL] -> Dumping PostgreSQL...
2022/12/02 00:37:51 [PostgreSQL] dump path: /tmp/gobackup/1669970271079006943/demo/postgresql/postgresql/demo.sql
2022/12/02 00:37:51 [Database]
2022/12/02 00:37:51 [Compressor] => Compress | xz
2022/12/02 00:37:51 [Compressor] -> /tmp/gobackup/1669970271079006943/2<IP_ADDRESS>.37.51.tar.xz
2022/12/02 00:37:51 [Storage] => Storage | local
2022/12/02 00:37:51 [Local] Store successed /tmp/demo
2022/12/02 00:37:51 [Cycler] Removed 2<IP_ADDRESS>.36.19.tar.xz
2022/12/02 00:37:51 [Model] Cleanup temp: /tmp/gobackup/1669970271079006943/

Saw the failed tests, fixing.

I just fixed test.

Cool.


kube-prometheus: monitoring authenticated kubelets

What did you do?
Deployed kube-prometheus
What did you expect to see?
kubelet being scraped
What did you see instead? Under which circumstances?
kubelet not being scraped
Environment
Tectonic v1.5.5 via Terraform AWS
The problem is that Tectonic has certificate protection on these endpoints; need to figure out how to configure this.

This is definitely a problem, what kind of a certificate does the kubelet expect? Where would it come from? Is it part of the ServiceAccount certificates mounted?

as far as I see we could reuse the same certs as the api server uses, see https://github.com/coreos/tectonic-installer/blob/3ab7b7d/modules/bootkube/resources/manifests/kube-apiserver.yaml#L42-L43.
They are already available in the tectonic installers as secrets called kube-apiserver https://github.com/coreos/tectonic-installer/blob/3ab7b7d/modules/bootkube/resources/manifests/kube-apiserver-secret.yaml.

This turns out to be more complex then we thought. So we will have to be able to supply a list of secrets to mount into the Prometheus container. Because we can't change the StatefulSet PodTemplate, the secrets given at point of creation, will be frozen and not reconciled from that point onwards. Targeted for the next release.

While this is now possible I'm hesitant to put a default in kube-prometheus just yet, as securing the kubelet in this way is rather rare at this point, and the source of the client certs required are also not standardized. In tectonic this is certainly possible, but not in kube-prometheus.

Could someone please provide an example of how to do this using Promtheus-Operator?  I have been unsuccessful getting access to the ETCD nodes (the endpoints are exposed, but since it requires HTTPS, I need to use the etcd-client.pem and etcd-client-key.pem files generated by kube-AWS when the k8s cluster was generated).
I've tried specifying the tlsConfig for the ETCD service monitor with the caFile, certFile, and keyFile values, but since these are located on the underlying node and not in the Prometheus pod, it can't find them.  I tried to create a volume with a hostPath to the location of these files within my Prometheus.yaml file, but since Prometheus is spun up by Prometheus-Operator, the volume isn't showing up (the volume does not show up when I look at the pods)
I'm thinking that maybe the best approach would be to create a secret with the 3 tlsConfig files (etcd-client.pem, etcd-client-key.pem, ca.pem) but an example showing how to mount the secret in the Prometheus.yaml file and then specifying the secret in my ETCD serviceMonitor would be so wonderfully helpful.  Thanks -


chore: feature branch ci

🤔 这个 PR 的性质是？

[ ] 日常 bug 修复
[ ] 新特性提交
[ ] 文档改进
[ ] 演示代码改进
[ ] 组件样式/交互改进
[x] CI/CD 改进
[ ] 重构
[ ] 代码风格优化
[ ] 测试用例
[ ] 分支合并
[ ] 其他

🔗 相关 Issue

💡 需求背景和解决方案

📝 更新日志

[x] 本条 PR 不需要纳入 Changelog

☑ 请求合并前的自查清单
⚠ 请自检并全部勾选全部选项。⚠

[x] 文档已补充或无须补充
[x] 代码演示已提供或无须提供
[x] TypeScript 定义已补充或无须补充
[x] Changelog 已提供或无须提供

Codecov Report

Merging #1218 (9c6542c) into develop (aaf0135) will decrease coverage by 0.29%.
The diff coverage is 21.05%.

@@             Coverage Diff             @@
##           develop    #1218      +/-   ##
===========================================
- Coverage    58.80%   58.50%   -0.30%
===========================================
  Files          405      406       +1
  Lines        15051    15160     +109
  Branches      2844     2870      +26
===========================================
+ Hits          8851     8870      +19
- Misses        5927     6016      +89
- Partials       273      274       +1

Impacted Files
Coverage Δ

src/date-picker/DateRangePicker.tsx
15.28% <0.00%> (-0.51%)
:arrow_down:

src/date-picker/hooks/useRange.ts
36.58% <0.00%> (+0.44%)
:arrow_up:

src/date-picker/hooks/useSingle.ts
37.28% <0.00%> (-2.00%)
:arrow_down:

src/date-picker/panel/PanelContent.tsx
36.36% <ø> (ø)

src/table/base-table-props.ts
61.53% <ø> (ø)

src/table/base-table.tsx
78.90% <ø> (-0.63%)
:arrow_down:

src/table/editable-cell.tsx
7.03% <0.00%> (-2.41%)
:arrow_down:

src/table/hooks/tree-store.ts
10.14% <0.00%> (-0.25%)
:arrow_down:

src/table/hooks/useClassName.ts
100.00% <ø> (ø)

src/time-picker/panel/single-panel.tsx
8.78% <10.00%> (-0.06%)
:arrow_down:

... and 15 more

Continue to review full report at Codecov.

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


Name prefix and some setup for step function

Addition of a name prefix for various resources (S3, roles, SQS) which defaults to ats.
IAM role for step proxy.

@pcberg this is a handful of edits that I made this summer during my initial testing of step functions. Mostly adding in a prefix for resource names ("ats" by default) and a role for the step function setup. I would like to get this merged so that we can move ahead with the step function as discussed.


Update models.py rvc v1 sample rate

choosing RVC v1 causes a crash due to sr2sr dictionary being changed to 48k instead of 48000

I don't experience any crashes rn do you is till experiencecrashes when selecting rvcv1 in the latest version?


Refactoring according to CONTRIBUTING.md naming convention

Brief feature description

remove all f_* .
Rest of the naming conventions in  https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md

Detailed information
In the complete ICEORYX repo, naming convention has to be modified as per CONTRIBUTING.md file & remove all f_* prefixes in functions.

@chiranjeevimaddi when you do this, please don't do it in one go because this will result in many merge conflicts which either you or other developer will have, depending on who can merge first. Please take a few files, create the PR and repeat until done.

@elBoberido We will create PRs for different folders. For sure, we won't create only one PRs.


Can`t find References

Type: Bug
Issue Description
Steps to Reproduce
Expected Behavior
Actual Behavior
Logs

C# log
Using dotnet configured on PATH
Dotnet path: /usr/local/share/dotnet/dotnet
Activating C# + C# Dev Kit + C# IntelliCode...
Starting server at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.LanguageServer.dll
Server arguments /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.LanguageServer.dll --logLevel Trace --starredCompletionComponentPath /Users/ihormolchan/.vscode/extensions/ms-dotnettools.vscodeintellicode-csharp-0.1.26-darwin-arm64/components/starred-suggestions/node_modules/@vsintellicode/starred-suggestions-csharp --sharedDependencies<EMAIL_ADDRESS>--extension<EMAIL_ADDRESS>--sessionId 07444c95-bc19-4504-9d42-af2e470c9e741700569691474 --telemetryLevel all --extensionLogDirectory /Users/ihormolchan/Library/Application Support/Code/logs/20231121T135011/window2/exthost/ms-dotnettools.csharp
waiting for named pipe information from server...
[stdout] trce: Program[0]
      .NET Runtime Version: .NET 7.0.14
[stdout] dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Remote.Workspaces.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.CSharp.Workspaces.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.Version2_X.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.CSharp.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Razor.Compiler.Language.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Scripting.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.Version1_X.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Workspaces.MSBuild.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Elfie.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.CSharp.Features.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Workspaces.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Razor.Compiler.CSharp.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.AnalyzerUtilities.dll added to workspace.
dbug: LanguageServerWorkspaceFactory[0]
      Solution-level analyzer at /Users/ihormolchan/.vscode/extensions/ms-dotnettools.csharp-2.10.28-darwin-arm64/.roslyn/Microsoft.CodeAnalysis.Features.dll added to workspace.
[stdout] {"pipeName":"/var/folders/2q/rbjljz056h52q_1ff1x5_vg00000gn/T/972618c3.sock"}
received named pipe information from server
attempting to connect client to server...
client has connected to server
[Info  - 14:28:14] [Program] Language server initialized
[LanguageServerHost] [12:28:14.080][Start]initialize
[LanguageServerHost] [12:28:14.080][Start]Initialize
[LanguageServerHost] [12:28:14.126][End]Initialize
[LanguageServerHost] [12:28:14.139][End]initialize
[LanguageServerHost] [12:28:14.147][Start]initialized
[LanguageServerHost] [12:28:14.199][End]initialized
[LanguageServerHost] [12:28:14.208][Start]workspace/diagnostic
[LanguageServerHost] PublicWorkspacePullDiagnosticsHandler(category: , source: ) started getting diagnostics
[LanguageServerHost] previousResults.Length=0
[LanguageServerHost] Processing 0 documents
[LanguageServerHost] [12:28:14.250][Start]serviceBroker/connect
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] SameProcess proffered brokered service(s): Microsoft.VisualStudio.RemoteBrokeredServiceManifest (0.2).
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] SameProcess proffered brokered service(s): Microsoft.VisualStudio.GlobalBrokeredServiceContainer.MissingServiceDiagnostics (1.0).
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] SameProcess proffered brokered service(s): Microsoft.ServiceHub.Framework.AuthorizationService.
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] SameProcess proffered brokered service(s): Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest (0.1), Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService, Microsoft.CodeAnalysis.LanguageServer.ManagedHotReloadLanguageService (0.1).
[Microsoft.CodeAnalysis.LanguageServer.BrokeredServices.BrokeredServiceBridgeProvider] Setting up brokered service bridge
[LanguageServerHost] [12:28:14.271][End]serviceBroker/connect
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "handshake" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.HandshakeAsync(ServiceBrokerClientMetadata, CancellationToken) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "requestServiceChannel" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.RequestServiceChannelAsync(ServiceMoniker, ServiceActivationOptions, CancellationToken) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "cancelServiceRequest" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.CancelServiceRequestAsync(Guid) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "dispose" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.Dispose() (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "handshake" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.HandshakeAsync(ServiceBrokerClientMetadata, CancellationToken) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "requestServiceChannel" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.RequestServiceChannelAsync(ServiceMoniker, ServiceActivationOptions, CancellationToken) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "cancelServiceRequest" -> Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.CancelServiceRequestAsync(Guid) (Microsoft.ServiceHub.Framework.IpcRelayServiceBroker)
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Listening for events from Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.AvailabilityChanged to raise notification.
[BrokeredServiceTraceListener] ServiceBroker Information: 3 :
[BrokeredServiceTraceListener] Listening started.
[BrokeredServiceTraceListener] ServiceBroker Information: 0 :
[BrokeredServiceTraceListener] Added local RPC method "availabilityChanged" -> _proxy_Microsoft.ServiceHub.Framework.IRemoteServiceBroker_f21e2752-f51f-4e4a-b4fe-5fee35473bcc.OnAvailabilityChanged(BrokeredServicesChangedEventArgs) (_proxy_Microsoft.ServiceHub.Framework.IRemoteServiceBroker_f21e2752-f51f-4e4a-b4fe-5fee35473bcc)
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] IRemoteServiceBroker proffered from remote source: OtherProcessOnSameMachine.
[BrokeredServiceTraceListener] ServiceBroker Information: 1 :
[BrokeredServiceTraceListener] OtherProcessOnSameMachine proffered brokered service(s): Microsoft.CodeAnalysis.LanguageClient.SolutionSnapshotProvider (0.1), Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService (0.1), Microsoft.VisualStudio.Debugger.ManagedHotReloadService (0.1), vs-intellicode-base-models (0.1).
[BrokeredServiceTraceListener] ServiceBroker Information: 3 :
[BrokeredServiceTraceListener] Listening started.
[BrokeredServiceTraceListener] ServiceBroker Information: 7 :
[BrokeredServiceTraceListener] {"id":2,"method":"handshake"}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 7 :
[BrokeredServiceTraceListener] Received: {"jsonrpc":"2.0","id":2,"method":"handshake","params":[{"supportedConnections":"IpcPipe","localServiceHost":{"operatingSystem":2,"processArchitecture":3,"runtime":2,"runtimeVersion":"7.0.14"}}]}
[BrokeredServiceTraceListener] ServiceBroker Information: 6 :
[BrokeredServiceTraceListener] Received request "2" for method "handshake".
[BrokeredServiceTraceListener] ServiceBroker Information: 9 :
[BrokeredServiceTraceListener] Invoking Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.HandshakeAsync(ServiceBrokerClientMetadata, CancellationToken)
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] handshake
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] handshake
[BrokeredServiceTraceListener] ServiceBroker Information: 8 :
[BrokeredServiceTraceListener] {"id":2}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 8 :
[BrokeredServiceTraceListener] Sent: {"jsonrpc":"2.0","id":2,"result":null}
[BrokeredServiceTraceListener] ServiceBroker Information: 7 :
[BrokeredServiceTraceListener] {"id":3,"method":"requestServiceChannel"}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 7 :
[BrokeredServiceTraceListener] Received: {"jsonrpc":"2.0","id":3,"method":"requestServiceChannel","params":[{"name":"Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest","version":"0.1"},{"clientCulture":"en-GB","clientUICulture":"en-GB"}]}
[BrokeredServiceTraceListener] ServiceBroker Information: 6 :
[BrokeredServiceTraceListener] Received request "3" for method "requestServiceChannel".
[BrokeredServiceTraceListener] ServiceBroker Information: 9 :
[BrokeredServiceTraceListener] Invoking Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.RequestServiceChannelAsync(ServiceMoniker, ServiceActivationOptions, CancellationToken)
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] requestServiceChannel
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=fb7ffc5c-fb1b-4edb-9e2b-b170dee539f9
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] Requesting pipe to "Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest (0.1)"
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for "Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest (0.1)" will be fulfilled by SameProcess
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=a74f1ec9-18a5-4f36-9928-d984ca1008ae
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.ServiceHub.Framework.AuthorizationService"
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for "Microsoft.ServiceHub.Framework.AuthorizationService" will be fulfilled by SameProcess
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for proxy to "Microsoft.ServiceHub.Framework.AuthorizationService" is Fulfilled by SameProcess: NoExplanation.
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.ServiceHub.Framework.AuthorizationService"
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=fb7ffc5c-fb1b-4edb-9e2b-b170dee539f9
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for pipe to "Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest (0.1)" is Fulfilled by SameProcess: NoExplanation.
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] Requesting pipe to "Microsoft.VisualStudio.Server.IBrokeredServiceBridgeManifest (0.1)"
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=5b6395fb-394e-4a27-a54b-8d3237ccd594
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] requestServiceChannel
[BrokeredServiceTraceListener] ServiceBroker Information: 8 :
[BrokeredServiceTraceListener] {"id":3}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 8 :
[BrokeredServiceTraceListener] Sent: {"jsonrpc":"2.0","id":3,"result":{"requestId":"8e1d9595-bc84-4a0a-aaf4-78d5bd3b1813","pipeName":"/var/folders/2q/rbjljz056h52q_1ff1x5_vg00000gn/T/374adc5bb27642b5b19d6b26250e286a"}}
[Microsoft.CodeAnalysis.LanguageServer.BrokeredServices.Services.BrokeredServiceBridgeManifest.BrokeredServiceBridgeManifest] Proffered services: Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService,Microsoft.CodeAnalysis.LanguageServer.ManagedHotReloadLanguageService (0.1)
[BrokeredServiceTraceListener] ServiceBroker Information: 7 :
[BrokeredServiceTraceListener] {"id":4,"method":"requestServiceChannel"}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 7 :
[BrokeredServiceTraceListener] Received: {"jsonrpc":"2.0","id":4,"method":"requestServiceChannel","params":[{"name":"Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService"},{"clientCredentials":{},"clientCulture":"en-GB","clientUICulture":"en-GB"}],"traceparent":"00-b9c06adb559b9b4ea6925a1fe95fe64d-3584a3d161389443-00"}
[BrokeredServiceTraceListener] ServiceBroker Information: 6 :
[BrokeredServiceTraceListener] Received request "4" for method "requestServiceChannel".
[BrokeredServiceTraceListener] ServiceBroker Information: 9 :
[BrokeredServiceTraceListener] Invoking Microsoft.ServiceHub.Framework.IpcRelayServiceBroker.RequestServiceChannelAsync(ServiceMoniker, ServiceActivationOptions, CancellationToken)
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=f51f02ba-b934-4cd5-ac17-eff3999bd773
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] requestServiceChannel
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=66c7a253-0aed-4d25-bc05-b3eeda7ecc94
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] Requesting pipe to "Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService"
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for "Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService" will be fulfilled by SameProcess
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=4bda97b5-eee9-48a9-b457-77fe64f18b1e
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.ServiceHub.Framework.AuthorizationService"
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for "Microsoft.ServiceHub.Framework.AuthorizationService" will be fulfilled by SameProcess
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for proxy to "Microsoft.ServiceHub.Framework.AuthorizationService" is Fulfilled by SameProcess: NoExplanation.
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.ServiceHub.Framework.AuthorizationService"
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=66c7a253-0aed-4d25-bc05-b3eeda7ecc94
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=b37da830-8d72-4c60-8e36-b1be74cc5640
[BrokeredServiceTraceListener] ServiceBroker Start: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService (0.1)"
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for "Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService (0.1)" will be fulfilled by OtherProcessOnSameMachine
[BrokeredServiceTraceListener] ServiceBroker Information: 8 :
[BrokeredServiceTraceListener] {"id":2,"method":"handshake"}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 8 :
[BrokeredServiceTraceListener] Sent: {"jsonrpc":"2.0","id":2,"method":"handshake","params":[{"supportedConnections":"Multiplexing, IpcPipe","localServiceHost":{"operatingSystem":2,"processArchitecture":3,"runtime":2,"runtimeVersion":"7.0.14"}}],"traceparent":"00-30a87db3728d604c8e36b1be74cc5640-5faaffae56a81744-01"}
[BrokeredServiceTraceListener] ServiceBroker Information: 7 :
[BrokeredServiceTraceListener] {"id":2}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 7 :
[BrokeredServiceTraceListener] Received: {"jsonrpc":"2.0","id":2,"result":null}
[BrokeredServiceTraceListener] ServiceBroker Information: 11 :
[BrokeredServiceTraceListener] Received result for request "2".
[BrokeredServiceTraceListener] ServiceBroker Information: 8 :
[BrokeredServiceTraceListener] {"id":3,"method":"requestServiceChannel"}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 8 :
[BrokeredServiceTraceListener] Sent: {"jsonrpc":"2.0","id":3,"method":"requestServiceChannel","params":[{"name":"Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService","version":"0.1"},{"clientCredentials":{},"clientCulture":"en-GB","clientUICulture":"en-GB"}],"traceparent":"00-30a87db3728d604c8e36b1be74cc5640-e022a8a7df3b464e-01"}
[BrokeredServiceTraceListener] ServiceBroker Information: 7 :
[BrokeredServiceTraceListener] {"id":3}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 7 :
[BrokeredServiceTraceListener] Received: {"jsonrpc":"2.0","id":3,"result":{"requestId":"892fd4dd-daf9-4b44-9bf2-16ccc928d43c","multiplexingChannelId":3}}
[BrokeredServiceTraceListener] ServiceBroker Information: 11 :
[BrokeredServiceTraceListener] Received result for request "3".
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for proxy to "Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService (0.1)" is Fulfilled by OtherProcessOnSameMachine: NoExplanation.
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] Requesting proxy to "Microsoft.VisualStudio.ProjectSystem.ProjectInitializationStatusService (0.1)"
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=66c7a253-0aed-4d25-bc05-b3eeda7ecc94
[BrokeredServiceTraceListener] ServiceBroker Information: 2 :
[BrokeredServiceTraceListener] Request for pipe to "Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService" is Fulfilled by SameProcess: NoExplanation.
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] Requesting pipe to "Microsoft.VisualStudio.LanguageServices.WorkspaceProjectFactoryService"
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=f51f02ba-b934-4cd5-ac17-eff3999bd773
[BrokeredServiceTraceListener] ServiceBroker Stop: 0 :
[BrokeredServiceTraceListener] requestServiceChannel
[BrokeredServiceTraceListener] ServiceBroker Transfer: 0 :
[BrokeredServiceTraceListener] Transfer, relatedActivityId=db6ac0b9-9b55-4e9b-a692-5a1fe95fe64d
[BrokeredServiceTraceListener] ServiceBroker Information: 8 :
[BrokeredServiceTraceListener] {"id":4}
[BrokeredServiceTraceListener] ServiceBroker Verbose: 8 :
[BrokeredServiceTraceListener] Sent: {"jsonrpc":"2.0","id":4,"result":{"requestId":"c9070567-13bb-40c6-b152-12a9d327a73a","pipeName":"/var/folders/2q/rbjljz056h52q_1ff1x5_vg00000gn/T/a40632c12ef948e183bd088a3612dcdb"}}
[Info  - 14:28:16] [WorkspaceProjectFactoryService] Project /Users/ihormolchan/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.csproj loaded by C# Dev Kit
[LanguageServerHost] Closing workspace/diagnostics request
[LanguageServerHost] Microsoft.CodeAnalysis.LanguageServer.Handler.Diagnostics.Public.PublicWorkspacePullDiagnosticsHandler finished getting diagnostics
[LanguageServerHost] [12:28:16.557][End]workspace/diagnostic
[Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.ProjectInitializationHandler] Devkit project initialization completed
[LanguageServerHost] [12:28:18.561][Start]workspace/diagnostic
[LanguageServerHost] PublicWorkspacePullDiagnosticsHandler(category: , source: ) started getting diagnostics
[LanguageServerHost] previousResults.Length=0
[LanguageServerHost] Processing 0 documents
[LanguageServerHost] Closing workspace/diagnostics request
[LanguageServerHost] Microsoft.CodeAnalysis.LanguageServer.Handler.Diagnostics.Public.PublicWorkspacePullDiagnosticsHandler finished getting diagnostics
[LanguageServerHost] [12:28:18.564][End]workspace/diagnostic
[LanguageServerHost] [12:28:20.570][Start]workspace/diagnostic
[LanguageServerHost] PublicWorkspacePullDiagnosticsHandler(category: , source: ) started getting diagnostics
[LanguageServerHost] previousResults.Length=0
[LanguageServerHost] Processing 0 documents
[LanguageServerHost] [12:28:32.470][Start]workspace/buildOnlyDiagnosticIds
[LanguageServerHost] [12:28:32.563][End]workspace/buildOnlyDiagnosticIds
[LanguageServerHost] [12:28:47.252][Start]workspace/buildOnlyDiagnosticIds
[LanguageServerHost] [12:28:47.255][End]workspace/buildOnlyDiagnosticIds

C# LSP Trace Logs
Post the output from Output-->C# LSP Trace Logs here.    The logs aren't showing any specific find references errors

Same issue, Code Lens is enabled to show references in the settings but they are not displayed above the methods.
Right-click and Go to references / Peek references / Find all references work as expected.

Extension
Version

.NET Install Tool
v2.0.0

C#
v2.13.10

C# Dev Kit
v1.1.16

IntelliCode for C# Dev Kit
v0.1.26

I just opened a bug that may be the same problem?
#6768

I have a similar error. The problem is that the Blazor WebAssembly App project does not see references to the Class Library project. But the Console App project sees it in one solution. Interestingly, this video shows that about 2 months ago everything was working OK. Can you tell me @leslierichardson95  what versions of extension and VS Code you used when recording this video and whether the references still work correctly with the latest versions?

Extension
Version

.NET Install Tool
v2.0.0

C#
v2.14.8

C# Dev Kit
v1.1.16 & v1.2.5

IntelliCode for C# Dev Kit
v0.1.26

VS Code
v1.85v1

The images show this exact project with an additional Console App project added for testing.

Closing this issue - the original issue as filed doesn't have enough information, and it looks like the other comments may be tracked and resolved by a separate bug.
If anyone in this thread is still having issues on the latest version of the extension, please file a new issue (with the latest C# logs and repro description).


User login checkpoint.

Basic log in view created. UI work needs to be done to support smaller phone sizes. This is mainly a checkpoint so Chris can create the hooks for saving user states.

Looks good! (per offline talk) +1


feat: implement async proxy layer for TransformedCollection

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

Internal api changes

What is the current behavior? (You can also link to an open issue here)

To do promise based database operations requires using the helper functions such as asyncCollectionFindOne. I find these quite tedious to use, as the syntax is nowhere near as nice as the fiber based methods collection.findOne(), and the code doesnt flow as cleanly.
Because of this I will generally use the fiber ones unless I have a particular need for them to be promises

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

To help encourage use of the promise ones where appropriate, the TransformedCollection type has been extended to have a set of async methods. eg collection.findOneAsync.
The old methods have been marked as deprecated and call directly into the new collection based ones.

Other information:

This is part of a push to use promises instead of fibers in the backend code wherever possible.
Very few usages have been updated to the new api, the intention is to do as part of gradually working to replace fibers with promises.
Status

[ ] Code documentation for the relevant parts in the code have been added/updated by the PR author
[ ] The functionality has been tested by the PR author
[ ] The functionality has been tested by NRK

Codecov Report

Merging #528 (3d1a818) into release35 (776e0d5) will decrease coverage by 0.02%.
The diff coverage is 79.19%.

@@              Coverage Diff              @@
##           release35     #528      +/-   ##
=============================================
- Coverage      68.10%   68.07%   -0.03%
=============================================
  Files            252      252
  Lines          15339    15369      +30
  Branches        3383     3384       +1
=============================================
+ Hits           10447    10463      +16
- Misses          4727     4744      +17
+ Partials         165      162       -3

Impacted Files
Coverage Δ

meteor/lib/database.ts
75.00% <ø> (ø)

meteor/lib/collections/lib.ts
65.13% <63.41%> (-15.30%)
:arrow_down:

meteor/server/lib/database.ts
84.61% <87.50%> (+7.24%)
:arrow_up:

meteor/lib/collections/AdLibActions.ts
100.00% <100.00%> (ø)

meteor/lib/collections/AdLibPieces.ts
100.00% <100.00%> (ø)

meteor/lib/collections/Blueprints.ts
100.00% <100.00%> (ø)

meteor/lib/collections/BucketAdlibActions.ts
100.00% <100.00%> (ø)

meteor/lib/collections/BucketAdlibs.ts
100.00% <100.00%> (ø)

meteor/lib/collections/Buckets.ts
100.00% <100.00%> (ø)

meteor/lib/collections/CoreSystem.ts
89.58% <100.00%> (ø)

... and 40 more

Continue to review full report at Codecov.

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


Add enable-ingress-hostname and ingress-hostname-suffix to Openstack

What this PR does / why we need it:
We need enable-ingress-hostname and ingress-hostname-suffix in the cloud-config generated in KKP. Currently KKP depends on MC's cloud-config implementation for that, so here we go.
Which issue(s) this PR fixes:

Fixes #
What type of PR is this?
/kind feature
Special notes for your reviewer:
Does this PR introduce a user-facing change? Then add your Release Note here:

NONE

Documentation:

NONE

Signed-off-by: Marvin Beckers<EMAIL_ADDRESS>

/retest

/retest

/retest

/test pull-machine-controller-e2e-openstack

I'm working on doing this on the KKP side instead.


Developer field parsing support

Define DeveloperField struct and add to all generated message definitions.
Keep track of FieldDescriptionMsg while parsing a FIT file; when encountering a dev field, look up its associated FieldDescriptionMsg and reference the base type metadata to properly parse the dev field bytes and write to a reflect.Value member in the associated message.
Updates base SDK to 21.84 cause that was the latest version and I needed a new .zip to perform the regeneration on.

Generally looks fine to me. So many touchpoints though, you'd think there could be a base/embedded type for all of these message types that would've made this a lot easier.

Realizing now that this might be a lot of generated code. That's strange too but I guess it's not as hard to edit.

Right all the large diff files are generated (messages.go, types.go, etc.).

The library's pattern is to use reflect.Value but I could be persuaded to swap to interface{}. I don't think writing a custom Value class makes sense for a library we don't ultimately own.


Fail to connect to camera service

Sometime, i got this error while trying to open camera.

Same with the #42 Did you open the camera twice or not granted the permission? It seem that you system was some thing wrong

Same with the #42 Did you open the camera twice or not granted the permission? It seem that you system was some thing wrong


Failure in gsc sign-image due to protobuf major upgrade

This appears to be a failure due to update in major release version of protobuf from 3.20.1 to 4.21.0 - https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Below are the logs when I attempt to run gsc sign-image IMAGE_NAME SIGNING_KEY_FILE
...
Step 2/6 : COPY gsc-signer-key.pem /gsc-signer-key.pem

 ---> aa1594fff42b
Step 3/6 : RUN export PYTHONPATH="${PYTHONPATH}:$(find /gramine/meson_build_output/lib -type d -path '*/site-packages')" && gramine-sgx-sign       --key /gsc-signer-key.pem       --manifest /entrypoint.manifest       --output /entrypoint.manifest.sgx

 ---> Running in a3c8fd7333a5
Traceback (most recent call last):
  File "/gramine/meson_build_output/bin/gramine-sgx-sign", line 11, in <module>
    from graminelibos import (
  File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/__init__.py", line 24, in <module>
    from .sgx_get_token import get_token
  File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/sgx_get_token.py", line 9, in <module>
    from . import _aesm_pb2 as aesm_pb2
  File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/_aesm_pb2.py", line 38, in <module>
    _descriptor.FieldDescriptor(
  File "/usr/local/lib/python3.8/dist-packages/google/protobuf/descriptor.py", line 560, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

Removing intermediate container a3c8fd7333a5

Seems https://github.com/gramineproject/gramine/issues/155 got more urgent...

@rranjan3 What is your image and how does your GSC's config.yaml look like? I'm particularly interested in the OS distro version -- is it Ubuntu 22.04? Because I tried on my Ubuntu 18.04 and Ubuntu 20.04, and building the example Python image with GSC worked fine.
@rranjan3 Also, have you tried to modify https://github.com/gramineproject/gsc/blob/master/templates/Dockerfile.common.sign.template for a PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION workaround? You could add smth like ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python before line 6. If this works, we can use this workaround for now (you can submit a PR or just tell us if this workaround works, and we'll submit the PR ourselves).
@mkow Yes.

@dimakuv , I had built gramine base over 20.04 & then was using this as base image in config.yaml.
I was not building the sample python application though. My workload is a multi-stage docker image of OpenVino. For now, the fix that worked for me is adding the following to the last stage -
RUN python3 -m pip install --no-cache-dir --upgrade pip;
python3 -m pip install protobuf==3.20.*

@rranjan3 Thanks for the explanation. However, I don't like to hard-code the protobuf version and get it from pip (instead of Ubuntu/CentOS own packages, see e.g. https://github.com/gramineproject/gsc/blob/5c39dddaadd081f7716a80de5221a7f88ed67e12/templates/ubuntu/Dockerfile.build.template#L14?plain=1).
@veenasai2 @aneessahib We should reproduce this error and provide a workaround of ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python for now. Until we fix it properly in the core Gramine repo ( https://github.com/gramineproject/gramine/issues/155), which may not happen soon...

WIth the suggested fix in Docker.common.sign.template, the signing and build runs just fine. But I see the same error log when trying to run the graminized image.
Attaching to openvino-ssd_ov-ssd-engine_1
ov-ssd-engine_1  | Traceback (most recent call last):
ov-ssd-engine_1  |   File "/gramine/meson_build_output/bin/gramine-sgx-get-token", line 8, in <module>
ov-ssd-engine_1  |     from graminelibos import Sigstruct, get_token
ov-ssd-engine_1  |   File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/__init__.py", line 24, in <module>
ov-ssd-engine_1  |     from .sgx_get_token import get_token
ov-ssd-engine_1  |   File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/sgx_get_token.py", line 9, in <module>
ov-ssd-engine_1  |     from . import _aesm_pb2 as aesm_pb2
ov-ssd-engine_1  |   File "/gramine/meson_build_output/lib/python3.8/site-packages/graminelibos/_aesm_pb2.py", line 38, in <module>
ov-ssd-engine_1  |     _descriptor.FieldDescriptor(
ov-ssd-engine_1  |   File "/usr/local/lib/python3.8/dist-packages/google/protobuf/descriptor.py", line 560, in __new__
ov-ssd-engine_1  |     _message.Message._CheckCalledFromGeneratedFile()
ov-ssd-engine_1  | TypeError: Descriptors cannot not be created directly.
ov-ssd-engine_1  | If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
ov-ssd-engine_1  | If you cannot immediately regenerate your protos, some other possible workarounds are:
ov-ssd-engine_1  |  1. Downgrade the protobuf package to 3.20.x or lower.
ov-ssd-engine_1  |  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
ov-ssd-engine_1  |
ov-ssd-engine_1  | More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
openvino-ssd_ov-ssd-engine_1 exited with code 1

@rranjan3 Fair enough, I forgot about the other place which needs fixing.
Please add the envvar in this line: https://github.com/gramineproject/gsc/blob/5c39dddaadd081f7716a80de5221a7f88ed67e12/templates/apploader.common.template#L14
So it will become like this:
    PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python gramine-sgx-get-token --quiet \

@rranjan3 I created https://github.com/gramineproject/gsc/pull/71. If you can, please try it out and report your results.

Thanks @dimakuv . Able to verify the gsc openvino example in the repo. Also, need to try the OpenVino SSD example with changes similar to the Openvino sample here.


REGR: ensure oriented_envelope (GEOS<3.12 code path) accepts array-like with ufunc protocol

Closes https://github.com/shapely/shapely/issues/1929
In the end I thought to use np.frompyfunc and remove the manual iteration, instead of just fixing that single check for when to use the iteration code path. This ensures that it will work consistently with numpy in what it accepts (the kinds of array likes), and also that it will return the array like objects if those implement the numpy protocols (eg in shapely 2.0.1, calling this function on a geopandas.GeoSeries will also return a GeoSeries)

cc @martinfleis

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 88.015%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
2585

Relevant Lines:
2937

💛  - Coveralls


[SR-5869][Parse/Sema] Expand recovery support for trailing closure in statement conditions

Fixes: SR-5869
Formerly, the recovering logic only handled trailing closures at outermost position.
This PR expands it to handle trailing closures in middle of expressions:
test.swift:2:16: error: trailing closure requires parentheses for disambiguation in this context
if nums.filter { $0 % 2 == 0 }.isEmpty {
              ~^
              (               )
test.swift:5:16: error: trailing closure requires parentheses for disambiguation in this context
if nums.filter { $0 % 2 == 0 } == [2, 4] {
              ~^
              (               )

@swift-ci Please smoke test

@swift-ci please smoke test

Closing. This has been superseded by  https://github.com/apple/swift/pull/25165 which is reverted.
We should make this diagnostic warning (https://github.com/apple/swift/pull/25165#issuecomment-506898762).

I’d forgotten about #25165, thanks for the reminder! I should be able to get back to that pretty soon and turn it into a warning


Add info about Native Dependencies

@ConnorLand we are done with what we wanted to say in this PR. It is all yours to make it pretty! ❤

@ConnorLand we are done with what we wanted to say in this PR. It is all yours to make it pretty! ❤

@ConnorLand we are done with what we wanted to say in this PR. It is all yours to make it pretty! ❤

Ok I'll edit and merge.

@ConnorLand we are done with what we wanted to say in this PR. It is all yours to make it pretty! ❤

Ok I'll edit and merge.

Hey @r0b1n . I changed some instances of JSON to .json. Please give the doc a scan and just make sure this, and my other changes, are ok.
Thank you all for collaborating on this draft.

Hey @r0b1n . I changed some instances of JSON to .json. Please give the doc a scan and just make sure this, and my other changes, are ok.
Thank you all for collaborating on this draft.


[FEATURE] : Add SEO to the website

Description
Currently, the index page has SEO by adding a title.

import * as React from "react";
import HeaderComponent from "../components/header.jsx";
import Main from "../components/main.jsx";

const IndexPage = () => {
  return (
    <>
      <HeaderComponent />
      <Main />
    </>
  );
};

export default IndexPage;

export const Head = () => <title>Home Page</title>;

We need to create a seo.jsx/seo.tsx to generate template SEO ! Apart from this the home page title should be changed !
TL;DR

[ ] Generate a SEO file
[ ] Change the head for 404 page
[ ] Change the head for index page

Expected Behaviour

Should improve search engine records for our page

Current Behaviour
Doesn't have heavy SEO.
Additional information
Resources:

Using React Helmet
Using Gatsby's Head API

I can take this issue up


pkg/build: pass additional flags from Android build config

More recent Android kernels may not use the DEFCONFIG_FRAGMENT and BUILD_TARGET environment variables. Instead, they may require passing additional flags the build script.
This allows specifying those additional flags and makes the previously-required (and no longer used) configuration fields optional.
We also need to look for the autoconf.h file in a different location. This can now be configured using the autoconf_path configuration field.

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Yes, this is ready to merge.


[SOL]  Arrow keys don't work after toggling the Fullscreen unless clicked on the video again. #262

PR Fixes:

This issue just needed to get the focus back to video after user toggle Fullscreen button.

It was quite irritating to click on the screen every time while changing tabs to control the video.

Resolves #262
Checklist before requesting a review

[Y] I have performed a self-review of my code
[Y] I assure there is no similar/duplicate pull request regarding same issue

Before Fixing the issue:
https://github.com/code100x/cms/assets/89627050/fe63294c-1227-47e4-9aeb-0023dbe4146b
After Fixing the issue:
https://github.com/code100x/cms/assets/89627050/ed0c4e82-0d1e-4d21-a69f-f87bba19483f

/bounty $10

Thankyou :)


documentation build fails

Looks like something is wring and documentation build fails
+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v7.1.2

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 229, in __init__
    self.setup_extension(extension)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 402, in setup_extension
    self.registry.load_extension(self, extname)
  File "/usr/lib/python3.8/site-packages/sphinx/registry.py", line 454, in load_extension
    metadata = setup(app)
  File "/home/builder/rpmbuild/BUILD/sphinx-json-schema-spec-2023.08.1/sphinx_json_schema_spec/__init__.py", line 43, in setup
    documents = {
  File "/home/builder/rpmbuild/BUILD/sphinx-json-schema-spec-2023.08.1/sphinx_json_schema_spec/__init__.py", line 44, in <dictcomp>
    url: fetch_or_load(cache_path=CACHE / f"{name}.html", url=url)
  File "/home/builder/rpmbuild/BUILD/sphinx-json-schema-spec-2023.08.1/sphinx_json_schema_spec/__init__.py", line 81, in fetch_or_load
    response = urllib.request.urlopen(request, context=context)
  File "/usr/lib64/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib64/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib64/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 308: Permanent Redirect

Exception occurred:
  File "/usr/lib64/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 308: Permanent Redirect
The full traceback has been saved in /tmp/sphinx-err-0qw7hy31.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

Passes here both locally and in CI. You'll have to be more specific.


Typescript dependency too low

Expected behavior
When I run npm init @open-wc for a typescript project, it should use the right eslint versions. The ones that work with the generated app are:
"@typescript-eslint/eslint-plugin": "^5.48.0",
"@typescript-eslint/parser": "^5.48.0",

Actual Behavior
The app starts with:
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",

Therefore it does not properly detect when @property decorator is used within generated sample files.
Additional context
Found the solution via https://stackoverflow.com/questions/73591752/eslint-wong-error-is-defined-but-never-used-warning-in-nestjs-for-all-decorato

thanks, fixed


Consolidate dockerization

Depricate old Dockerfiles and docker-compose files and replace with new ones with tendermint
Update Quickstart docs to use docker compose workflow #1895
Remove Dockerfiles un-relevant to this repo e.g. compose/bigchaindb-server
Repo restructure and remove un-necessary docker/docker-compose files/folder

@shahbazn I already updated the Quickstart page in pull request #1952 . It's very different from before; mostly just pointing elsewhere.

@ttmc So I suppose this can now go to contributing.md?

@shahbazn Yes, once pull request #1952 gets merged, the Quickstart page will point readers to contributing.md and the instructions about how to use Docker Compose can be in that file.

Closing this issue will be tracked as a separate effort cc @muawiakh @sbellem


Feature/plcnexttableau

Added Todd as a reviewer. Removed Mike as a reviewer since he's out of office.


[JENKINS-31789] Added GitLab Plugin support

https://issues.jenkins-ci.org/browse/JENKINS-31789

Already merged from master, added a releases notes entry and squashed those commits to a single one.
Thanks

Already merged from master, added a releases notes entry and squashed those commits to a single one.
Thanks


Bug: Cannot provide version of flatcar to use in lokocfg.

In order to use a different version of Flatcar for a alpha/beta channel, I need to specify the version in the os_version field.
This causes an error as lokoctl also expects to provide ipxe_script_url which shouldn't be the case:
 ~/go/src/github.com/kinvolk/lokomotive/lokoctl cluster apply --skip-components --verbose
ERRO[0000] <nil>: os_version is unexpected; os_version may only be specified with ipxe_script_url for worker pool "greenland"  args="[]" command="lokoctl cluster apply"
FATA[0000] Errors found while loading cluster configuration  args="[]" command="lokoctl cluster apply"

lokocfg
variable "packet_project_id" {}
variable "ssh_public_keys" {}

cluster "packet" {
  controller_count=1
  management_cidrs = ["<IP_ADDRESS>/0"]
  node_private_cidr = "<IP_ADDRESS>/8"
  ssh_pubkeys = var.ssh_public_keys
  facility = "sjc1"
  project_id = var.packet_project_id
  asset_dir = "/home/imran/work/clusters/packet-master/hacluster/assets"
  cluster_name = "imran"
  controller_type = "t1.small.x86"

  dns {
    zone = "lokomotive-k8s.net"
    provider = "route53"
 }

  #oidc {}

  worker_pool "greenland" {
    node_type = "t1.small.x86"
    os_channel = "alpha"
    os_version = "2632.0.0"
    count = 1
  }

How is this a bug? Packet does not support selecting Flatcar version if using their provisioning system. It is possible to specify OS version when using iPXE installation though.
If you need this feature, AWS should support it as well.

removing the offending code and applying the same config again works.
core@imran-controller-0 ~ $ cat /etc/os-release
NAME="Flatcar Container Linux by Kinvolk"
ID=flatcar
ID_LIKE=coreos
VERSION=2632.0.0
VERSION_ID=2632.0.0
BUILD_ID=2020-09-14-2219
PRETTY_NAME="Flatcar Container Linux by Kinvolk 2632.0.0 (Oklo)"
ANSI_COLOR="38;5;75"
HOME_URL="https://flatcar-linux.org/"
BUG_REPORT_URL="https://issues.flatcar-linux.org"
FLATCAR_BOARD="amd64-usr"

removing the offending code and applying the same config again works.

Can you try some older version?

I think it only makes sense on an auto-updating OS if you also disabled the updates which is not recommended.

I think we should mention the limitation in reference documentation in addition to the test logic we have. Then close this issue.


ext: deprecation warning fix

Signed-off-by: Lars Holm Nielsen<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling c70766d92bb411383a6a38b368f065dfd6ee8e53 on lnielsen:depwarn into b20d7bc42aa0558abbf67221bd1494f4d5aba9c3 on inveniosoftware:master.

Coverage remained the same at 100.0% when pulling 83c77f17167a9f6b3903a5e1189a515aa94f3b8a on lnielsen:depwarn into b20d7bc42aa0558abbf67221bd1494f4d5aba9c3 on inveniosoftware:master.


How to change the amount of forked tasks waiting for channels dinamically?

What the documentation says is that we can have a queue implemented easily with Channels:
import { channel } from 'redux-saga'
import { take, fork, ... } from 'redux-saga/effects'

function* watchRequests() {
  // create a channel to queue incoming requests
  const chan = yield call(channel)

  // create 3 worker 'threads'
  for (var i = 0; i < 3; i++) {
    yield fork(handleRequest, chan)
  }

  while (true) {
    const {payload} = yield take('REQUEST')
    yield put(chan, payload)
  }
}

function* handleRequest(chan) {
  while (true) {
    const payload = yield take(chan)
    // process the request
  }
}

I noticed that we can determine the number of concurrent tasks and in the sample it was 3 multiple tasks running in parallel:
for (var i = 0; i < 3; i++) {
    yield fork(handleRequest, chan)
  }

However,
How can I change the number 3 to another number dynamically without cancel the tasks running in the fork?
If I want to increase the 3 to 5 it's easy, it's just add other forks whenever I want, but what about to decrease this number without lost the running tasks?

You would have to implement a more sophisticated logic:

have a saga responsible for managing worker pool
create a channel for it
pass this channel to each forked saga
notify the manager saga about worker state changes (processing: boolean)
knowing about processing status of your workers you could quite easily implement logic in which you would "wait" for a worker to complete before shutting it down

Great, thanks.
I will check if I can get a solution for it.

Alright, I got a solution:

Firstly I've given an id for each fork task because I haven't found a way to retrieve the fork id in the current task:

let taskCounter = 0
const forks = {}
...
const chan = yield call(channel)
for (let i = 0; i < queueSize; i += 1) {
      taskCounter += 1
      const taskID = taskCounter
      forks[taskID] = {
        isRunning: true,
        fork: yield fork(doSomething, { chan, taskID }),
      }
    }

After that I've created a saga to watch the REMOVE_CHANNEL_TASK action:
The action:

export const REMOVE_CHANNEL_FORK = 'REMOVE_CHANNEL_FORK'

export const removeChannelFork = ({ taskID }) => ({
  type: REMOVE_CHANNEL_FORK,
  taskID,
})

The saga:
function* watchFinishFork() {
  while (true) {
    const { taskID } = yield take(REMOVE_CHANNEL_FORK)
    forks[taskID].isRunning = false
  }
}

And finally I implemented the main saga to watch the actions conditioned to the isRunning:

function* doSomething({ chan, taskID }) {
  while (true) {
    const payload = yield take(chan)
    yield executeTheSomething(chan, payload)
    if (!forks[taskID].isRunning) {
      delete forks[taskID]
      break //this means that the fork will finish its execution
    }
  }
}

So thank you for the guidance @Andarist 👏


Analyzer stops working if a WORKSPACE file is present

The analyzer server will stop processing "package:" import URI if a WORKSPACE file is present in the package folder.
How to reproduce :

create a demo project with at least one import with "package:" uri (e.g. : 'package:logging/logging.dart'
open with an IDE (e.g. Atom), see that analyzer is working
close the IDE
create an empty WORKSPACE file beside pubspec.yaml
reopen the IDE, see that package: uri are not processed anymore
close the IDE
delete the WORKSPACE file
reopen the IDE : the package uri are working again.

There should be an issue for this already.

I searched for "WORKSPACE" in the issues and didn't found anything. Anyway I was almost going crazy because of this.

Looks like https://github.com/dart-lang/sdk/issues/28038

@alexander-doroshko that's exactly the same. I'll close this one then.

@alexander-doroshko that's exactly the same. I'll close this one then.


Added missing core/types.hpp to hdr_parser.py

DMatch & KeyPoint (and maybe others) are missing with OpenCV 3 & Python.  Adding this line fixes it.

Bad request.  Never mind.


Update debug macros, add transform

#271

@Spegs21 should I merge this?

@Legion2 Yep, it's good to go.


Contemplate switching HTTP caching layer from Varnish to Apache Traffic Server

We have been using Varnish 3 to provide an HTTP caching layer. However, there are a few reasons I'm pondering a switch to Apache Traffic Server to provide the HTTP caching layer. I'm not entirely convinced of making the switch, so I wanted to start an issue to track some of the potential pros/cons.
First a bit of background:

Varnish 3's doesn't seem to handle streaming well. This gzip+chunked responses+streaming issue has bit us. In general, it seems to be acknowledged that Varnish 3's streaming capabilities aren't perfect.
We want streaming, but with Varnish 3 in the stack, it doesn't seem like we can reliably provide streaming responses.
Varnish 4 streams everything by default, so these issues do seem to go away with Varnish 4.

So why think about Apache Traffic Server instead of just upgrading to Varnish 4? After doing more specific testing, there's been a few things that have come up:

The most concrete issue I discovered is that Varnish appears to be hardcoded to retry requests if the backend initially times out. See discussion 1 and discussion 2. I don't like this behavior for GET requests (if a server is slow to respond, I don't want really want to make things worse and retry the same slow query), but this seems particularly dangerous for POST requests. The only way to prevent this from happening in Varnish is to disable keepalive, which I don't want to do. Apache Traffic Server also behaves this way by default, but it's configuration allows it to be disabled.
The other reasons for considering Traffic Server are admittedly more nebulous and less well researched:

Varnish 4 does fix our previously seen streaming issue, but I've still seen some strange behavior under Varnish 4 where occasionally chunked responses get returned as non-chunked by Varnish. It's extremely sporadic, so maybe it's just a weird timing issue (maybe the whole response gets read more quickly than it can be delivered, so it just skips attempting a chunked response and delivers it non-chunked). The response body is correct under Varnish 4, but I just find it a little concerning that Varnish is sporadically changing the behavior of the backend's response.
Traffic Server seems to have more of a focus on being as transparent of a proxy as possible, whereas that's less of a priority for Varnish (at least that's my take after reading various docs and mailing list threads). There are logical reasons for Varnish's stance on not trying to be a compliant proxy, but since we have less control over our potential backend servers, it makes Traffic Server's stance a little more appealing.
I've always had a finicky time with putting Varnish's shared memory log on a tmpfs partition, like suggested. This is probably more of an oversight on my part, but the tmpfs approach has always led to varnish restarts sporadically not working because it doesn't clear the tmpfs partition before trying to start the varnish server again (so it runs out of space). It's probably solvable, I've just been pleasantly surprised how easy Traffic Server is to get running without tuning like this. Removing the need to have a tmpfs partition should also make it easier to install our entire stack.
Traffic Server benchmarks: I've seen a few different benchmark sets that seem to indicate traffic server performs better and is more efficient than Varnish. I'd definitely like to do our own benchmarking before making this a reason, but it seems promising.

So, reasons to stick with Varnish?

VCL: The flexibility in configuration VCL gives is quite amazing. It's allowed us to implement things like Surrogate-Control support just using the config file.
Surrogate-Control: See above. We'd have to figure out how to implement Surrogate-Control in Traffic Server without something like VCL. I think it might be possible with some creative header manipulation, but it's something we'd need to figure out before seriously considering Traffic Server. Worse case scenario is writing a C extension.
Plugins: Traffic Server also has plugins, but Varnish's plugin ecosystem seems much bigger. For example, I'd like to add something like boltsort (see https://github.com/NREL/api-umbrella/issues/32). There are a couple different plugin options to do such things in Varnish, but none available for Traffic Server
Community: Varnish's community does seem bigger. Traffic Server has several large players, and seems to be growing, but Varnish seems to have more mindshare and users at this point.

So there are definitely aspects of Traffic Server that tempt me to switch, but Varnish is also widely used and a fantastic piece of software. While I mull this over, I'll continue to update this thread, but I at least wanted to get some documentation out there on why we might eventually pick one or the other.

Hey, just interested if you have got further with this?

+1

v0.9 of API Umbrella switches things to using TrafficServer. See the Architecture section in https://github.com/NREL/api-umbrella/pull/183 for a quick summary of why.

But Varnish does not support HTTPS.


Model applicability to SP 2019

The Note states that the models from 2013 apply to 2016, but what about 2019. I assume that still apply, can you please confirm and update the Note above.

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

ID: 1d9ca21c-546c-0d36-2dd7-026f6b06f0c4
Version Independent ID: 74cffa3d-349a-394f-2156-ff4720598414
Content: SharePoint Server design samples Corporate portal and extranet sites
Content Source: SharePoint/SharePointServer/administration/corporate-portal-and-extranet-sites-design-samples.md
Product: sharepoint-server-itpro
GitHub Login: @Techwriter40
Microsoft Alias: kirks

DeanGross, yes, this applies to 2019 as well, it should be noted in the Applies To section of the article.