Memory Leak / High Memory Usage Makes Flow Unusable

I'm running into similar problems as a number of other issues have reported:
#4046, #3576, #3565
Flow is consuming all available memory. I'm not getting the impossibly high numbers of 40+ GB of memory as some, but it's bring my machine to a standstill, and I'm not getting any results from flow.

I get the same result regardless of how I run flow (I've tried uninstalling all options and re-installing each individually):

Tried uninstall / installing globally with NPM
Tried brew install
Tried running from ./node_modules/.bin/flow
Tried running with flow-for-vscode (in VSCode)

I've tried versions 0.45, 0.46, and 0.47 of flow using each of the above approaches individually. Always the same results
Here's my setup:
Mac OSX Sierra 10.12.5
2.6 GHz Intel Core i5
8 GB 1600 MHz DDR3
VSCode Version 1.12.2 (1.12.2)
I'm running this in a decently sized project:
---------- Result ------------
        Physical :  83606
          Source :  67992
         Comment :  10504

Single-line comment :  2043
Block comment :  8463
Mixed :  338
Empty :  5968
To Do :  62
Number of files read :  870

Approximately, 100 - 200 files (of the 870) have /* @flow */ and have flow types.
Here's my flow config:
[include]

[ignore]
<PROJECT_ROOT>/uploads/.*
<PROJECT_ROOT>/tools/.*
<PROJECT_ROOT>/data/.*
<PROJECT_ROOT>/build/.*
<PROJECT_ROOT>/.storybook/.*
<PROJECT_ROOT>/.github/.*

#Also tried Ignoring node modules, which also seems to have no effect
<PROJECT_ROOT>/node_modules/*

[libs]
flow-typed
./node_modules/immutable/dist/immutable.js.flow

[options]

# Saw this in a post and tried it but doesn't seem to have any effect
sharedmemory.hash_table_pow=21

esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
esproposal.decorators=ignore

unsafe.enable_getters_and_setters=true

munge_underscores=false

# These are Webpack / Babel Aliases
module.name_mapper='^components' -> '<PROJECT_ROOT>/src/common/components'
module.name_mapper='^hocs' -> '<PROJECT_ROOT>/src/common/hocs/index.js'
module.name_mapper='^selectors' -> '<PROJECT_ROOT>/src/common/redux/selectors/index.js'
module.name_mapper='^api' -> '<PROJECT_ROOT>/src/common/api/index.js'
module.name_mapper='^actions' -> '<PROJECT_ROOT>/src/common/redux/actions/index.js'
module.name_mapper='^resources' -> '<PROJECT_ROOT>/src/common/config/resources/index.js'
module.name_mapper='^utilities' -> '<PROJECT_ROOT>/src/common/utilities/index.js'

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FixMe

[version]
^0.46.0

I've tried stripping out everything from the flowconfig but the version and ignoring node_modules and I still get the memory issue.
Also tried ./node_modules/.bin/flow check --verbose-indent and don't see any errors - just a lot or processing (with flow-types libs - using  "flow-typed": "2.1.2".
I'm not sure what else to try 😞
Any suggestions?

I have the same problem, running Windows 10 and Flow 0.47.0

I started having this problem recently, as of 0.53.1 on Linux (NixOS).

I also have it with 0.51.1 on macOS.

Is anyone having this problem able to share the codebase where it occurs? It's a little baffling because I've worked on some huge Flow codebases and not bumped into it, so there must be some specific cases other than just size that trigger it. Would be useful to start gathering cases and trying across different Flow versions, OSes, etc.

Since I started having this recently, I did a binary search on recent commits and pinpointed the issue to a few lines. I have no idea how this is triggered, but the problematic lines are roughly like this:
        const as = map.get(pathA[0]) || []
        const bs = map.get(pathB[0]) || []
        const cs = map.get(keyC) || []

        // as.push(val)
        map.set(pathA[0], [...as, val])
        // bs.push(val)
        map.set(pathB[0], [...bs, val])
        // cs.push(val)
        map.set(pathC, [...cs, val])

Changing this code by replacing the commented out lines with the ones directly below solved the nontermination issue. I could maybe try to corner the issue further if I have time again.

Huh, that's very interesting. I wonder whether adding explicit type annotations onto map or as helps?

Maybe it could, but I already worked around the issue. The bigger problem is non-termination of flow, and I don't have any idea why my use case triggered this. :/

Hmm, darn. Unfortunately, without a full chunk of code that can reproduce, this is going to be very hard to track down. Is it possible to do a screen share session where we try to narrow it down? I'm happy to promise/sign that I won't share anything about the code other than what we learn about this Flow issue.

I managed to corner the issue to a small function. A stack overflow exception is immediately thrown in the console. I hope this helps.

Function isn't necessary either, weird.

Ah, that's an interesting one. To save everyone else from loading that page and bricking their browser window, the code that triggers this is of the form:
const ys = new Map();
const y = ys.get('a');

ys.set('a', [...y]);
ys.set('a', [...y]);
ys.set('a', [...y]);

The problem goes away if you:

Change [...y] to y.
Call ys.set two or fewer times.
Add explicit types to ys or y.

If you do any of these things, you get the error I would expect, which is:
6: ys.set('a', [...y]);
                   ^ property `@@iterator` of $Iterable. Property not found in possibly undefined value
6: ys.set('a', [...y]);
                   ^ undefined

Since ys.get returns V | void, directly spreading that object into an array doesn't seem like it should ever be allowed.
But it seems like Flow somehow gets into an infinite loop while checking this. Flow shouldn't get into an infinite loop, but at least in this example, it's only doing so for already-invalid code.

If I change the ys.get('a') line to ys.get('a') || [] it still doesn't terminate. And when I remove some sets Flow says there are no errors; so it's applicable for valid code as well. In any case, we can agree that it shouldn't get into an infinite loop.

Ah, awesome, hadn't thought of that way to get it to reproduce validly. Thanks! Now if I can just figure out how to debug the flow server, I can try to explain why...

This seems to be rather prominent in the issues. Maybe related issues found after a five minute search:

https://github.com/facebook/flow/issues/5271
https://github.com/facebook/flow/issues/4370
https://github.com/facebook/flow/issues/4070
https://github.com/facebook/flow/issues/4046
https://github.com/facebook/flow/issues/3565
https://github.com/facebook/flow/issues/3370
https://github.com/facebook/flow/issues/2152

Seeing this with v0.59.0 on macOS v10.13 where the flow process takes GB of memory.

If you specific the types for all args in that code does the problem go away?


[Monitor query] Adding documentation for statistics and visualization

Packages impacted by this PR
@azure/monitor-query
Issues associated with this PR
Fixes https://github.com/Azure/azure-sdk-for-js/issues/20644
Describe the problem that is addressed by this PR
Provided documentation for getting statistics and visualization information from the logsQuery method and the expected result.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[x] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Updated Composition tests to run for all types, not just ostree.

I have taken the existing composition test and looped it over all 5 composition types by placing the test within a forEach loop. I also re-factored the config so that "composition" is now an array of objects. Thanks for any feedback you can offer.

The eslint errors should be fixed now.


Using collection.watch() on flutter web : TypeError Cannot read properties of undefined (reading '_id')

Hi, first, thank for amazing package. i am not sure this coming from the package, but i want to report just in case.
Using collection.watch() on flutter web throw an error : TypeError: Cannot read properties of undefined (reading '_id') .
how to reproduce:

watch a collection in flutter web :
Stream _watchProduct() {
    final collection = ref
        .read(clientProvider)
        .getDatabase(DBrepo.services)
        .getCollection(DBrepo.services_agent);
    return collection.watch();
  }

listen to event :
 _subscription = _watchProduct().listen((event) { });

delete a document in that collection:

full log :
TypeError: Cannot read properties of undefined (reading '_id')
https://mkqerrzgldvzwtntkzhr.supabase.co/storage/v1/object/public/mati-apps/stitchUtils.js 435:41  <fn>
https://s3.amazonaws.com/stitch-sdks/js/bundles/4.9.0/stitch.js 1:157128                           onEvent
https://s3.amazonaws.com/stitch-sdks/js/bundles/4.9.0/stitch.js 1:199347                           poll
https://s3.amazonaws.com/stitch-sdks/js/bundles/4.9.0/stitch.js 1:223111                           onmessage

Same here (only for deletions)


PR: Fix failing tests due to Numpy 2.0 (Testing)

Description of Changes
A couple of tests were failing due to that release.
Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @ccordoba12

Thanks!

Hello @ccordoba12! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/widgets/tests/test_collectioneditor.py:

Line 338:8: E111 indentation is not a multiple of four


Bump metrics-server to v0.7.0

A newer release of metrics-server is available. It addresses some outdated dependencies that are showing up on some scanners. We should update.

https://github.com/kubernetes-sigs/metrics-server/compare/v0.6.3...v0.7.0

Bumping out to v1.30

Results from  k3s version v1.29.2+k3s-bba3e3c6 (bba3e3c6)
{
Command:
 kubectl get node -o yaml  --kubeconfig=/tmp/efmoraleeeee_kubeconfig  | grep 'metrics-server' -A1

Assertion:
metrics

Matched with result:
- docker.io/rancher/mirrored-metrics-server@sha256:20b8b36f8cac9e25aa2a0ff35147b13643bfec603e7e7480886632330a3bbc59
      - docker.io/rancher/mirrored-metrics-server:v0.7.0
      sizeBytes: 19434712
}


Outdated error on having defined config.kit.router?

Describe the bug
I had not updated SvelteKit for a project in a very long time and on start it gave me this error after the update:

error when starting dev server:
Error: config.kit.router has been moved to config.kit.browser.router

This looks outdated, as I could no longer find a reference to config.kit.browser, at the very least it is not defined in the types.
Reproduction

Create new skeleton SvelteKit project via npm init
Change config to:const config = {
    preprocess: preprocess(),
    kit: {
  	  adapter: adapter(),
  	  router: false,
    }
};

Try vite build

Logs
No response
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
    Memory: 8.06 GB / 31.92 GB
  Binaries:
    Node: 16.16.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.14.13 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 107.0.5304.107
    Edge: Spartan (44.19041.1266.0), Chromium (107.0.1418.42)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.87
    @sveltejs/kit: next => 1.0.0-next.545
    svelte: ^3.44.0 => 3.53.1
    vite: ^3.1.0 => 3.2.3

Severity
annoyance
Additional Information
No response

The code for this is inside options.js, the easiest solution is to replace the error with the one that is thrown for the new path.


Make docker GHA work with webhook

This PR just makes it easier for us to see how I got the docker bit working with GHA.
A lot of it was taken and adapted from https://docs.docker.com/build/ci/github-actions/multi-platform/.
I removed publish.yaml and instead shoved everything in release.yaml since I'm re-using the build job there for the binaries. Don't know if we still want to go with a separate publish and release step, I'm open to it though.

Was moved directly to Eric's branch, no need for this PR, so closing.


feat: React Stacked Photos component

This component will be our first open source code available on NPM.
Reason
I didn't find a react library that does this feature out of the box. If you know of any kindly drop the link here for us to go through.

How it looks on mobile screen

closed by #110


Bump itoa to v1

itoa 0.4 used mem::uninitialized, which is a very bad API as it's way of doing uninitialized memory goes against Rust's memory model. Starting from 1.64 it's slower because of the forced memory initialization it does to avoid the unsoundness

Thanks!


API: None with dlopen

Description
Hello!
I want to use the API using dlopen to load librenderdoc.so to debug my OpenGL application.
I do the loading at the start of main, therefore I expect any gl calls to be hooked and captured.
I can find and attach my application using qrenderdoc, though it says "API: None" and nothing gets captured.

Thank you for your help!
Steps to reproduce
test.cpp:
#include <renderdoc/renderdoc_app.h>
#include <dlfcn.h>

#define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
#include <glad/glad.h>

int main(int argc, char **argv)
{
    RENDERDOC_API_1_6_0 *rdoc_api;
    if (void *mod = dlopen("librenderdoc.so", RTLD_NOW))
    {
        pRENDERDOC_GetAPI RENDERDOC_GetAPI = (pRENDERDOC_GetAPI)dlsym(mod, "RENDERDOC_GetAPI");
        int ret = RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_6_0, (void **)&rdoc_api);
    }

    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
    GLFWwindow *window = glfwCreateWindow(1, 1, "window", NULL, NULL);

    glfwMakeContextCurrent(window);
    gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);

    glfwSetWindowSize(window, 640, 480);
    while (!glfwWindowShouldClose(window))
    {
        rdoc_api->StartFrameCapture(NULL, NULL);

        int width, height;
        glfwGetFramebufferSize(window, &width, &height);
        glViewport(0, 0, width, height);

        glClear(GL_COLOR_BUFFER_BIT);
        glfwSwapBuffers(window);
        glfwPollEvents();

        rdoc_api->EndFrameCapture(NULL, NULL);
    }

    glfwDestroyWindow(window);
    glfwTerminate();
    return 0;
}

Compiling and running the above code results in the described behaviour.
Environment
I run the code within a vscode dev container with gpu passthrough.

RenderDoc version: 1.34
Operating System: Ubuntu 24.04
Graphics API: OpenGL 4.6

Your code is not correct, please read the documentation and follow the instructions there - in particular when calling dlopen you should pass RTLD_NOW | RTLD_NOLOAD to ensure you only load the library when launched from RenderDoc. You should also protect to make sure you don't crash as currently when your program is not launched from RenderDoc the library will not be present and your program will crash when calling rdoc_api if it's NULL.
Otherwise this works correctly for me and I can't reproduce the problem. I compiled your test program and launched it from RenderDoc and I got a huge number of captures generated as you are capturing every frame.

Thank you for your reply!
I read the docs once more and it looks like I was making assumptions, my bad.
Though, can you help me understand one more thing I am really struggling to understand?
I did an experiment where I created a cmake target for renderdoc like this
add_library(renderdoc SHARED IMPORTED GLOBAL)
set_target_properties(renderdoc PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/lib/librenderdoc.so")
target_include_directories(renderdoc INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include/")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/lib/librenderdoc.so" DESTINATION lib/${PROJECT_NAME})

and using it to build my application like this
add_executable(Test test.cpp)
target_link_libraries(Test glad glfw renderdoc -Wl,-rpath -Wl,\$ORIGIN -Wl,-z,origin)

When I started my application (not through the UI), the capture overlay was present and I could attach through the UI after the fact.
I was thinking, that I might be able to get the same behaviour by dlopen("librenderdoc.so", RTLD_NOW), as this loads the library just the same (I assume?), installs the hooks (given I do it early enough before using the graphics API) and enables the remote access.
This does not work and with my limited knowledge I cannot figure out why. I have read this

To begin using the API you need to fetch the RENDERDOC_GetAPI function. You should do this dynamically, it is not recommended to actually link against RenderDoc’s DLL as it’s intended to be injected or loaded at runtime.

in the docs which tells me not to do what I did in this initial experiment, but what is the actual mechanism behind it not working?
Thank you!

You should never link against RenderDoc. I would personally not recommend using cmake for the RenderDoc API as that massively overcomplicates things - just copy the header into your project and include it where necessary.
If you are not launching your program from the UI you are not using RenderDoc correctly and misbehaviour is not surprising. Please read the documentation and be sure you use RenderDoc properly.


Strange issue with indentation and "installed" property replicated multiple times

Hi! It's always me 😅
Today I opened the uplugin file of a plugin and I discovered that the "Installed" value was present 3 times, and the indentation was wrong, as you can see here:

After I discovered this issue, I checked other plugins and I can confirm that the same thing appens:

Apparently, every time you edit the "installed" property a new line is being added and the value of all properties is changed, the indentation is also wrong for the "EnabledByDefault" property.
Thank you in advance for your time!

Hi! 😁👍
Indeed, there was a bug that keep recreating Installed keys, I fixed that in the new v1.2.1 release.
For indentation, originally the code never cared about that but now I added a small code so new lines for EnabledByDefault and Installed will follow the same indentation of Modules. This counts only for new lines/keys, if the key already exist and have another indentation I preserve the original one when changing values.
Thanks! 🍻

Thank you for the quick update!
Unfortunately, I have bad news...
Version 1.2.1 is failing to load the engine paths:

I'm happy it was an easy fix!
Thank you again!


Updated character replacements list

As the encoding/decoding process for these pdfs seems to have some errors (characters being incorrectly decoded) we need to update the list of character replacements. Currently we have only two replacements identified but there are more than just those two.

This is fixed and approved.


Add closed type to pull_request

Background

Performance test pipeline need to catch 'closed' event

Description

When declaring event types, the default value disappears, so I added closed to the default values.
Refer to docs, default event type are 'opened, synchronize, reopened'.

Thanks for the reviews! Now merging


Manifest Merger failed

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to  element at AndroidManifest.xml:7:5-34:19 to override.

As of version 4, this library uses Androidx rather than the deprecated support library. You should upgrade the dependency to androidx in your own application.

Can you please share the old version, so that I can use it with support library.

Versions are never retracted.
You are free to use an old version by specifying it in your build.gradle. Check the releases tab to see which ones exist


Allow "/" in branch name when creating new branch from online editor

We are using / in branch names for grouping them, e.g., "feature/test". NB. "/" is not allowed in end of branch name.

Fixed with #1507 pull request


Equipping Overhaul by DragonDude compatibility

Since the mod appears to no longer be supported, an opt-in runtime work-around was implemented.


Create inherited processes via CLI

was wondering if there is a set of arguments that allow for Creation of inherited processes?  I have searched everywhere.
If not, I am having a hard time invoking the webservice command do it.  I can do it via normal Rest API.  However, I would like to run the whole script using Azure CLI and not jump back and forth.
Here is the script I am running.   Also, why does it have to be a file..  why can't it be a variable

$createProcessURL = "$orgUrl/_apis/work/processes?api-version=6.0-preview.2"

$ProcessTemplate = @{name = "Agile - $($proj)";parentProcessTypeId = "adcc42ab-9882-485e-a3ed-7678f01f66bc";referenceName = "$($projectName).MyNewAgileProcess";description = "My new process"} | ConvertTo-Json

#$response = Invoke-RestMethod -Uri $createProcessURL -Method Post -ContentType "application/json" -Headers $header -Body ($ProcessTemplate)

$ProcessTemplate | Out-File -FilePath "C:\PS Testing\body.json"

 az devops invoke `
 --area process `
 --accept-media-type "application/json" `
 --api-version=6.0-preview `
 --http-method "post" `
 --org "https://dev.azure.com/silverscout" `
 --in-file  "C:\PS Testing\body.json"

Error I am getting..
az : ERROR: Unable to decode file  'C:\PS Testing\body.json' with 'utf-8' encoding.
At line:5 char:1
+ az devops invoke `
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (ERROR: Unable t...tf-8' encoding.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

@silverscout We are looking into it and get back to you for any additional information.

route to CXP team

@yonzhan and @SaurabhSharma-MSFT
I solved the issue with the invoke.  actually someone else did.  can someone please look at "https://github.com/Azure/azure-devops-cli-extension/issues/1011#issuecomment-914718013"  and put a suitable fix for this?
Thanks David.

@gauravsaralMs Can you please look into this.


Fixed creating of JavaScript test using "codeceptjs gt"

Motivation/Description of the PR

Resolves #3512
If this PR is accepted I'm going to create a PR for codeceptjs-chai to fix the specific issue mentioned in https://github.com/codeceptjs/CodeceptJS/pull/3514#discussion_r1109858852

Applicable helpers:

[ ] WebDriver
[ ] Puppeteer
[ ] Nightmare
[ ] REST
[ ] FileHelper
[ ] Appium
[ ] Protractor
[ ] TestCafe
[ ] Playwright

Applicable plugins:

[ ] allure
[ ] autoDelay
[ ] autoLogin
[ ] customLocator
[ ] pauseOnFail
[ ] coverage
[ ] retryFailedStep
[ ] screenshotOnFail
[ ] selenoid
[ ] stepByStepReport
[ ] stepTimeout
[ ] wdio
[ ] subtitles

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[x] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[ ] Lint checking (Run npm run lint)
[x] Local tests are passed (Run npm test)

Thank you, it is good to be merged!

If this PR is accepted I'm going to create a PR for codeceptjs-chai to fix the specific issue mentioned in https://github.com/codeceptjs/CodeceptJS/pull/3514#discussion_r1109858852

It's not needed since https://github.com/SitamJana/codeceptjs-chai/pull/39


Update help to show /sa not /survey answer

Better version of /sa, just for aesthetic purposes/convenience.

Keep both imo

People can use either for purposes

I just made it for short and purposes

Ah idk tbh

I just got bored and decided to edit this lol

Just close it for now, ill edit it so help get both survey answer and /sa

tbh its unnecessary


ci: nodejs yarn version mismatch

[ ] decide on yarn classic vs yarn modern
[ ] if modern: set the version appropriately; if classic, remove the yarn modern artefacts etc
[ ] address the cache problem of nodejs bindings in regular CI runs, so we don't get surprised in release
[ ] release 0.7.2 (thursday)

I can take this one?


Devtron Apps break if default chart repo is deleted

Describe the bug
If a chart_repo is set to default and user deletes that particular repo - All devtron apps start showing the error pg: no rows in result set
To Reproduce

Delete the chart_repo which is set to is_default=true from UI
Try saving deployment template in any of the devtron-apps

Expected behavior
It shouldn't allow to delete the chart_repo which is default or map devtron-apps to another repo
Current behavior
It breaks and starts showing error on devtron apps
Screenshots

Logs
{"level":"error","ts":1651732718.0517132,"caller":"pipeline/ChartService.go:280","msg":"error in fetching chart repo detail","req":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":false,"name":""},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":false,"name":""},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":19,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.Create\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:280\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:124\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":1651732718.052041,"caller":"app/DeploymentPipelineRestHandler.go:126","msg":"service err, ConfigureDeploymentTemplateForApp","err":"pg: no rows in result set","payload":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":false,"name":""},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":false,"name":""},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":19,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:126\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"info","ts":1651732718.0521755,"caller":"common/apiError.go:113","msg":"ERROR RES","TYPE":"API-ERROR","RES":404,"ERROR-MSG":[{"code":"000","internalMessage":"[{pg: no rows in result set}]","userMessage":"pg: no rows in result set"}],"err":null}
{"level":"info","ts":1651732770.9882448,"caller":"app/DeploymentPipelineRestHandler.go:469","msg":"request payload, GetDeploymentTemplate","appId":6,"chartRefId":17}
{"level":"error","ts":1651732770.9909415,"caller":"pipeline/ChartService.go:698","msg":"error in fetching chart ","appId":6,"err":"pg: no rows in result set","stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.FindLatestChartForAppByAppId\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:698\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.GetDeploymentTemplate\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:490\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"info","ts":1651732775.5282874,"caller":"app/DeploymentPipelineRestHandler.go:94","msg":"request payload, ConfigureDeploymentTemplateForApp","payload":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""}}
{"level":"error","ts":1651732775.5302255,"caller":"pipeline/ChartService.go:651","msg":"error in fetching default repo","err":"pg: no rows in result set","stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.getChartRepo\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:651\ngithub.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.Create\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:278\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:124\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":1651732775.5302813,"caller":"pipeline/ChartService.go:280","msg":"error in fetching chart repo detail","req":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.Create\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:280\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:124\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":1651732775.530372,"caller":"app/DeploymentPipelineRestHandler.go:126","msg":"service err, ConfigureDeploymentTemplateForApp","err":"pg: no rows in result set","payload":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:126\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"info","ts":1651732775.5304632,"caller":"common/apiError.go:113","msg":"ERROR RES","TYPE":"API-ERROR","RES":404,"ERROR-MSG":[{"code":"000","internalMessage":"[{pg: no rows in result set}]","userMessage":"pg: no rows in result set"}],"err":null}
{"level":"info","ts":1651732937.7305913,"caller":"app/DeploymentPipelineRestHandler.go:94","msg":"request payload, ConfigureDeploymentTemplateForApp","payload":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""}}
{"level":"error","ts":1651732937.732598,"caller":"pipeline/ChartService.go:651","msg":"error in fetching default repo","err":"pg: no rows in result set","stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.getChartRepo\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:651\ngithub.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.Create\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:278\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:124\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":1651732937.7326615,"caller":"pipeline/ChartService.go:280","msg":"error in fetching chart repo detail","req":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/pkg/pipeline.ChartServiceImpl.Create\n\t/go/src/github.com/devtron-labs/devtron/pkg/pipeline/ChartService.go:280\ngithub.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:124\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":1651732937.7327523,"caller":"app/DeploymentPipelineRestHandler.go:126","msg":"service err, ConfigureDeploymentTemplateForApp","err":"pg: no rows in result set","payload":{"id":0,"appId":6,"valuesOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":5000,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":5000,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"defaultAppOverride":{"ContainerPort":[{"envoyPort":8799,"idleTimeout":"1800s","name":"app","port":8080,"servicePort":80,"supportStreaming":false,"useHTTP2":false}],"EnvVariables":[],"GracePeriod":30,"LivenessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"MaxSurge":1,"MaxUnavailable":0,"MinReadySeconds":60,"ReadinessProbe":{"Path":"","command":[],"failureThreshold":3,"httpHeaders":[],"initialDelaySeconds":20,"periodSeconds":10,"port":8080,"scheme":"","successThreshold":1,"tcp":false,"timeoutSeconds":5},"Spec":{"Affinity":{"Key":null,"Values":"nodes","key":""}},"args":{"enabled":false,"value":["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600"]},"autoscaling":{"MaxReplicas":2,"MinReplicas":1,"TargetCPUUtilizationPercentage":90,"TargetMemoryUtilizationPercentage":80,"behavior":{},"enabled":false,"extraMetrics":[]},"command":{"enabled":false,"value":[]},"containerSecurityContext":{},"containers":[],"dbMigrationConfig":{"enabled":false},"envoyproxy":{"configMapName":"","image":"quay.io/devtron/envoy:v1.14.1","resources":{"limits":{"cpu":"50m","memory":"50Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}},"image":{"pullPolicy":"IfNotPresent"},"imagePullSecrets":[],"ingress":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.local","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.local","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"ingressInternal":{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example1.internal","pathType":"ImplementationSpecific","paths":["/example1"]},{"host":"chart-example2.internal","pathType":"ImplementationSpecific","paths":["/example2","/example2/healthz"]}],"tls":[]},"initContainers":[],"kedaAutoscaling":{"advanced":{},"authenticationRef":{},"enabled":false,"envSourceContainerName":"","maxReplicaCount":2,"minReplicaCount":1,"triggerAuthentication":{"enabled":false,"name":"","spec":{}},"triggers":[]},"pauseForSecondsBeforeSwitchActive":30,"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"prometheus":{"release":"monitoring"},"rawYaml":[],"replicaCount":1,"resources":{"limits":{"cpu":"0.05","memory":"50Mi"},"requests":{"cpu":"0.01","memory":"10Mi"}},"secret":{"data":{},"enabled":false},"server":{"deployment":{"image":"","image_tag":"1-95af053"}},"service":{"annotations":{},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"servicemonitor":{"additionalLabels":{}},"tolerations":[],"topologySpreadConstraints":[],"volumeMounts":[],"volumes":[],"waitForSecondsBeforeScalingDown":30},"chartRefId":17,"latest":false,"isAppMetricsEnabled":false,"schema":null,"readme":""},"stacktrace":"github.com/devtron-labs/devtron/api/restHandler/app.PipelineConfigRestHandlerImpl.ConfigureDeploymentTemplateForApp\n\t/go/src/github.com/devtron-labs/devtron/api/restHandler/app/DeploymentPipelineRestHandler.go:126\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:72\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\ngithub.com/gorilla/mux.(*Router).ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/gorilla/mux/mux.go:210\ngithub.com/devtron-labs/authenticator/middleware.Authorizer.func1.1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/authenticator/middleware/AuthMiddleware.go:62\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2049\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"info","ts":1651732937.7328374,"caller":"common/apiError.go:113","msg":"ERROR RES","TYPE":"API-ERROR","RES":404,"ERROR-MSG":[{"code":"000","internalMessage":"[{pg: no rows in result set}]","userMessage":"pg: no rows in result set"}],"err":null}

AB#264

User shouldn't be able to disable this repo also from chart store


Dreamhost DNS Updates

Get DNS updates working with Dreamhost using IPv4 and IPv6, with internal and public IP addresses.

Issue logged in Jira [PYDDNS-12]


standard

making use of standard for linting npm run lint
Already it caught some duplicate methods, so that's good.

Merging it?

I invited you as a collaborator, go ahead!

I'm working on adding import() support so this'll be kinda fun to deal with the merge conflicts.


Navigation hidden

Navigation is hidden when there are 3 slides, and 3 slides displayed, so we just can't switch between slides in this configuration. Whereas option hide-nav is false.
Here is my configuration :
<kaarousel displayed="3"
                  per-slide="1"
                  animation="'slide'"
                  time-interval="1500"
                  autoplay="false"
                  hide-pager="true"
                  sync="index"
                  center-active="true"
                  hide-nav="false"
                  kaa-swipable="false"></kaarousel>

c6340815769a1e1631200317f82628686288ccc2 : that should do it :)


A problem of mapping

Hi,
I am using LIO-SAM, installed on a mobile robot, to build maps of some typical indoor/outdoor environment. One problem that we encountered is described as below:

Environment: underground parking lot;
IMU: 9-axis Yesense 510-A; Output sampling frequency: 200Hz;
LiDAR: RSLidar-16 (Robosense-16)
The robot stopped in front of a crossroad, after a relatively long trip, and was supposed to wait for 3 seconds according to my mapping policy. A car ran quikly along the perpendicular way suddenly, and the map that the robot was building flied further and further until I shut down the process. Meanwhile, LIO-SAM reported a warning "large velocity detected, reset IMU pre-integration" periodically.
I double-checked the source code imuPreintegration.cpp, and found how the warning info was generated. It seemed to me that gtsam had produced a very large velocity. I have no idea for now how to fix this issue.

I am wondering if you could take some time and think about the issue I report here. Any suggestions would be highly appreciated.
Sincerely!
Bag：https://drive.google.com/file/d/1o0oq9sBvExKlUSYxiZ_pciogtBZQyMSL/view?usp=sharing

@sushan551 Hi
Mind sharing your config file?

Have you solved the problem? I have a similar problem. Can we talk about it? Thank you very much

like this ?
Map flying in sky.
I think it's a matter of optimazation failure.


Close vscode with confirm

Hi, I think a feature is missed in vscode.
Supose you're runing a project like react using vscode terminal. Accidentally you clicking on close button. Then the vscode window will close.
What will happen ?
You will get angry and this is a negative score for vscode.
Please set a confirmation for close vscode window.
With respect and thanks.

It works, so thanks !
@gjsjohnmurray


Configure PrettyCI rules

Hey @rtio once we won't use PrettyCI, I think you could close this issue.


3D reconstruction using 4 realsense cameras

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ D400 }

Firmware Version
(Open RealSense Viewer --> 2.54)

Operating System & Version
{Win 11}

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
{ 2.0 }

Language
{python}

Issue Description
Hi, I am working depth cameras and want to perform 3D reconstruction using multiple realsense cameras. Does the SDK offer any algorithms to perform reconstruction? if not, any suggestions or pipeline on how to proceed to achieve this objective?
thanks!

Hi @Kishor-Ryouta  The RealSense SDK does not have built-in support for multiple camera 3D reconstruction.
If you are able to use commercial software then the RealSense-compatible 3D scanning tool RecFusion Pro supports multiple RealSense cameras.  It supports the 400 Series RealSense models D415, D435, D435i and D455.
https://www.recfusion.net/products/
Some non-commercial options for multiple camera scanning are discussed at https://github.com/IntelRealSense/librealsense/issues/9832#issuecomment-937595667

I have a question on calibration. I am using 4 cameras on my study table, which is my setup. I place a checkerboard pattern in the center and capture that image from each cam and perform calibration. but the process is a bit time consuming. can you provide any suggestions / improvements or any alternate calibration procedure for obtain the intrinsic an extrinsic properties? thank you.

The Python example box_dimensioner_multicam.py automatically calibrates together the positions of multiple cameras placed around an empty checkerboard when the program is run.  After auto-calibration is completed, the program requests to the user that they place an object on the checerboard so that its volume can be measured.
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python/examples/box_dimensioner_multicam

so in this example, there is no need to move the pattern or the cameras around (the conventional approach) to capture different images, is it?

Correct, the cameras and checkerboard can be in fixed positions and only the object placed on the checkerboard is moved.

@MartyG-RealSense
Based on my search, the pipeline to achieve this is capturing the aligned images from each camera, converting them to point clouds, stitching each point cloud and register.
this is currently the approach i am going with, if you think any changes are to be made please do suggest it or if my approach is right and if you have any supporting links that can help with my approach, it would be really appreciated. thank you.

Your described approach is a correct and commonly used one.
In Open3D, generating multiple pointclouds and stitching them together is described as ICP registration, as discussed at https://github.com/IntelRealSense/librealsense/issues/9590

Thank you @MartyG-RealSense
I really appreciate the early response and you've been really helpful. Waiting to see the results of my work.

hi @MartyG-RealSense,
the point cloud I am getting has its axis flipped about the focal length.
this is the realsense viewer

and this is the point cloud I have

Is the flipped image generated with Open3D please?

Not open3D, that's the 'pointcloud_viewer.py' example from the SDK.

@MartyG-RealSense I can obtain the image that resembles the viewer. but even then, the coordinates are different right?

The Python pointcloud will be closer to one in the Viewer if all post-processing filters are disabled, as the Viewer applies a range of filters by default whilst a script written by a RealSense user will have no filters or colorization settings applied unless the user deliberately programs them into the script.

Hi @Kishor-Ryouta  Do you require further assistance with this case, please?  Thanks!

hi! @MartyG-RealSense i am still working on the project and experimenting.

Okay, thanks very much for the update!

@MartyG-RealSense  i am able to get a merged pointcloud. but it pretty much misaligned. any recommendations?

If you are using pyrealsense2 then a method called an affine transform can be used to set all the pointclouds to the same position and rotation in 3D space.  An instruction called rs2_transform_point_to_point in the RealSense SDK is an affine transform.  Information about this function in regards to Python can be found at https://github.com/IntelRealSense/librealsense/issues/5583#issuecomment-570805578

@MartyG-RealSense
I have 4 pointclouds captured from 4 different corners. I should just perform affine transformation individually on all 4 point clouds is it?

@MartyG-RealSense I have a query. so umm even if I perform affine transformation, on what basis will the final point cloud have a proper reconstructed point cloud?
because after capturing the aligned depth and color image, i used the cameras intrinsic param to reproject the depth image as point clouds using homogeneous transformation, and now if i project them back there will be a  proper alignment?
I have not used the extrinsic property anywhere above.

https://github.com/IntelRealSense/librealsense/issues/8333 may be a helpful reference about affine transform.  It can explain about the procedure better than I can as my knowledge of affine transform is admittedly limited.
Another method of multiple camera pointcloud construction that could be considered is to do it with ROS using Intel's guide for ROS1 at the link below.
https://www.intelrealsense.com/how-to-multiple-camera-setup-with-ros/

Thanks very much for the update, @Kishor-Ryouta - good luck!

It is retrieving the extrinsics (translation and rotation) between the stereo depth sensor and the RGB color sensor.

ArUco is certainly a valid method of camera calibration.  You can find OpenCV and Python information resources for ArUco by googling for the search term aruco opencv python
There is an.ArUco tutorial for OpenCV with Python code here:
https://www.learnopencv.com/augmented-reality-using-aruco-markers-in-opencv-c-python/

Thanks very much @Kishor-Ryouta for the update!

If the camera is mounted a fixed distance above the able, pointing downwards, then you could set a minimum depth sensing distance with the post-processing filter Threshold Filter so that the camera ignores the tabletop surface but captures the object on top of the table.  Information about using Python to set up and apply the filter can be found at https://github.com/IntelRealSense/librealsense/issues/5964#issuecomment-594372943

If the table had a black surface (either a black top or a black cover placed upon it) then the camera would not be able to read the table top but could depth-sense the object so long as it is not dark grey or black.

Hi @Kishor-Ryouta  Do you require further assistance with this case, please?  Thanks!

That's excellent news.  Thanks very much for the update about your success!

Hello, could you please share your code? I have been working on 3D reconstruction recently


Eric/hotfix sdk version

Set the sdk dependency version explicitly both for best practices and to catch the fixed version.
This is deployed to PyPI (prod and test)

Closing because doug/fix-from-time-logic PR contains this code


fix moving to archived status 1.0.8_wmagent

1.0.8_wmagent branch version of #6121

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/235/ for details

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/236/ for details

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/238/ for details

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/240/ for details


Refactor ci_pipeline and build workflows

Proposed changes
Note: the changes on ci_pipeline.yml is so huge. If you see each commit one by one, it will help you to understand.
Motivation of the PR

Reduce the lines of ci_pipeline.yml. Currently, approximately 2400 lines with a lot of code duplications.
Remove the pain when you add the new plugin. See this PR #1169. To add tedge_watchdog into the workflow, many changes were required.

What are achieved by this PR
Significant reduction of lines. ci_pipeline.yml is reduced from 2400 to 400, build-workflow.yml is reduced from 300 to 90.

The commit 6d919bda3705c54c6cf1eacb4650c3414d0d6d06 reduces the lines just by removing unnecessary steps and introducing matrix for RPis names, without porting steps to bash.
The later commits port some steps to bash scripts.

Easy to add internal/external package to both workflows.

ci/package_list.sh lists the required packages. When you want to add a new package, just modify this file only. Then, the workflows will use the list.

Test run
Build workflow: https://github.com/thin-edge/thin-edge.io/actions/runs/2584452028
ci_pipeline: https://github.com/thin-edge/thin-edge.io/actions/runs/2584451474
ToDo
I wanted to port this step defined in cargo-test-features-amd64, to a bash script.
      - name: Cargo test features
        uses: actions-rs/cargo@v1
        # https://github.com/marketplace/actions/rust-cargo
        with:
          command: test
          args: --verbose --features integration-test,requires-sudo -- \
            --skip sending_and_receiving_a_message

However, if I add the command to the bash script, the test always fails. For some reason, the tests which are supposed to be skipped are not skipped, although they are skipped by the yaml definition.
cargo test  --verbose --features integration-test,requires-sudo --  --skip sending_and_receiving_a_message

I'm still investigating, but if I cannot fix it in a meantime, I would like to merge this PR even without the porting.
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
Closes #644
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

It is strange that those tests are skipped... but nice work on simplifying this! :+1:

Nice simplification work.
I have a single comment. It would be good to run all the workflows when one of the workflows has been changed. The current optimization (run rust/doc related workflow only when rust/doc files are updated) is neat, but workflow update should be an exception.

I created a new issue #1233 for this!