Giter Club home page Giter Club logo

userorg-service's Introduction

Sunbird User Org Service

This repository contains the code for the User Org micro-service, providing the APIs for User and Org functionality of Sunbird. The code in this repository is licensed under the MIT License unless otherwise noted. Please see the LICENSE file for details.

User org development environment setup

This readme file provides instructions for installing and starting the User Org Service and setting up the default organization & user creation in a local machine.

System Requirements

Prerequisites

  • Java 11
  • Latest Docker
  • Latest Maven (Only For Mac m1 users use 3.8.8 Maven version)

Prepare folders for database data and logs

To prepare folders for database data and logs, run the following command:

mkdir -p ~/sunbird-dbs/cassandra ~/sunbird-dbs/es 
export sunbird_dbs_path=~/sunbird-dbs

To verify the creation of folders, run:

echo $sunbird_dbs_path

Cassandra database setup in Docker

  1. To get the Cassandra image, use the following command:
docker pull cassandra:3.11.6 

For Mac M1 users follow the bellow command:

docker pull --platform=linux/amd64 cassandra:3.11.6 

For the network, you can either use an existing network or create a new one by executing the following command:

docker network create sunbird_db_network
  1. To create the Cassandra instance, run the following command:
docker run -p 9042:9042 --name sunbird_cassandra \
 -v $sunbird_dbs_path/cassandra/data:/var/lib/cassandra \
 -v $sunbird_dbs_path/cassandra/logs:/opt/cassandra/logs \
 -v $sunbird_dbs_path/cassandra/backups:/mnt/backups \
 --network sunbird_db_network -d cassandra:3.11.6 

For Mac M1 users follow the below command:

docker run --platform=linux/amd64 -p 9042:9042 --name sunbird_cassandra \
 -v $sunbird_dbs_path/cassandra/data:/var/lib/cassandra \
 -v $sunbird_dbs_path/cassandra/logs:/opt/cassandra/logs \
 -v $sunbird_dbs_path/cassandra/backups:/mnt/backups \
 --network sunbird_db_network -d cassandra:3.11.6 
  1. To verify the setup, run the following command, which will show the status of Cassandra as up and running:
docker ps -a | grep cassandra

To create/load keyspaces and tables to Cassandra

Click the link sunbird-utils-cassandra-setup and follow the steps for creating/loading the Cassandra keyspaces and tables to your development environment.

Note: It is mandatory to follow the instructions provided in the link.

  1. To verify the creation of keyspaces and tables, connect to the Cassandra Docker container using SSH and run the following command:
docker exec -it sunbird_cassandra /bin/bash

Setting up Elastic Search in Docker

To set up Elastic Search in Docker, follow the below steps:

  1. Obtain the Elastic Search image by executing the following command:
docker pull elasticsearch:6.8.11

For Mac M1 users follow the bellow command:

docker pull --platform=linux/amd64 elasticsearch:6.8.11
  1. Create an Elastic Search instance by executing the following command to run it in a container:
docker run -p 9200:9200 --name sunbird_es -v 
$sunbird_dbs_path/es/data:/usr/share/elasticsearch/data -v 
$sunbird_dbs_path/es/logs://usr/share/elasticsearch/logs -v 
$sunbird_dbs_path/es/backups:/opt/elasticsearch/backup 
-e "discovery.type=single-node" --network sunbird_db_network 
-d docker.elastic.co/elasticsearch/elasticsearch:6.8.11

For Mac M1 users follow the bellow command::

docker run --platform=linux/amd64 -p 9200:9200 --name sunbird_es -v 
$sunbird_dbs_path/es/data:/usr/share/elasticsearch/data -v 
$sunbird_dbs_path/es/logs://usr/share/elasticsearch/logs -v 
$sunbird_dbs_path/es/backups:/opt/elasticsearch/backup 
-e "discovery.type=single-node" --network sunbird_db_network 
-d docker.elastic.co/elasticsearch/elasticsearch:6.8.11

The above command performs the following actions:

  • "-p 9200:9200" maps the host's port 9200 to the container's port 9200, allowing access to the Elasticsearch API.
  • "--name <container_name>" assigns a name to the container, which can be used to reference it in other Docker commands.
  • "-v <host_directory_path>/es/data:/usr/share/elasticsearch/data" mounts the host's directory "<host_directory_path>/es/data" as the Elasticsearch data directory inside the container.
  • "-v <host_directory_path>/es/logs://usr/share/elasticsearch/logs" mounts the host's directory "<host_directory_path>/es/logs" as the Elasticsearch logs directory inside the container.
  • "-v <host_directory_path>/es/backups:/opt/elasticsearch/backup" mounts the host's directory "<host_directory_path>/es/backups" as the Elasticsearch backups directory inside the container.
  • "-e "discovery.type=single-node"" sets an environment variable "discovery.type" with the value "single-node", which tells Elasticsearch to start as a single-node cluster.
  • "--network <network_name>" assigns the container to a Docker network, which is used to connect the container to other containers in the same network.
  • "-d" runs the container in detached mode, which allows it to run in the background.

To verify the setup, execute the following command. It will display the elastic search status as up and running.

docker ps -a | grep es

If you are using an Ubuntu system, perform the following step to ensure that the necessary permissions are created for the folder:

chmod -R 777 sunbird-dbs/es

Elastic Search Indices and Mappings Setup

To create indices, follow these steps:

  1. Copy the JSON content of the index from the provided link below for each index.
  2. Replace <indices_name> with the name of the index for which you want to create the mapping.
  3. Replace <respective_index_json_content> with the JSON content you copied in step 1.

Use the following api to create each index:

PUT {{es_host}}/<indices_name>
Body : <respective_index_json_content>

Here's an example curl command for creating the location index:

curl --location --request PUT 'localhost:9200/location' \
--header 'Content-Type: application/json' \
--data '<location_json_content>'

Make sure to replace location.json with the name of the index JSON file for the corresponding index.

Here's the list of indices to create and their corresponding links:

To create mappings for the listed indices, follow these steps:

  1. Copy the JSON content of the mapping from the provided link for each index.
  2. Replace <indices_name> with the name of the index for which you want to create the mapping.
  3. Replace <respective_mapping_json_content> with the JSON content you copied in step 1.

Use the following api to create each mapping:

PUT {{es_host}}/<indices_name>/_mapping/_doc 
Body: <respective_mapping_json_content>

Here's an example curl command for creating the mapping for the location index:

curl --location --request PUT 'localhost:9200/location/_mapping/_doc' \
--header 'Content-Type: application/json' \
--data '@location-mapping.json'

Make sure to replace location-mapping.json with the name of the mapping JSON file for the corresponding index.

Here's the list of mappings to create and their corresponding links:

User Org Service Setup

To set up the User Org service, follow the steps below:

  1. Clone the latest branch of the user-org service using the following command:
git clone https://github.com/Sunbird-Lern/sunbird-lms-service.git
  1. Set up the necessary environment variables by running the following script in the path <project-base-path>/sunbird-lms-service:
./scripts/userorg-config.sh
  1. Build the application using the following maven command in the path <project-base-path>/sunbird-lms-service:
mvn clean install -DskipTests -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6

Make sure the build is successful before proceeding to the next step. If the build is not successful, fix any configuration issues and rebuild the application.

  1. Run the netty server using the following maven command in the path <project-base-path>/sunbird-lms-service/controller:
mvn play2:run
  1. Verify the database connections by running the following command:
curl --location --request GET 'http://localhost:9000/health’

If all connections are established successfully, the health status will be shown as 'true', otherwise it will be 'false'.

To make the User/Org service completely working, some pre-required configuration setup is mandatory. Follow the steps given in the link pre-required configuration setup to complete the setup.

userorg-service's People

Contributors

amiableanil avatar amolnin avatar anmol2302 avatar arvindyadav108 avatar beepdot avatar bharathwajshankar avatar bvinayakumar avatar codacy-badger avatar dev-karthik avatar fsherinp avatar hari-stackroute avatar indrajra avatar iostream04 avatar kirtisagarksj avatar krgauraw avatar maheshkumargangula avatar manojvv avatar manzarul avatar mathewjpallan avatar niharikasingh84 avatar rahul-tarento avatar rajatgupta0889 avatar reshmi-nair avatar rjshrjndrn avatar rkhema2010 avatar sknirmalkar89 avatar sreeragksgh avatar sudhirgiri2911 avatar vijethas avatar vrayulu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

userorg-service's Issues

setup course service 3.8.0 on local machine

Cassandra 3.11.10 run on windows using java 11 error will be occurred --Unrecognized VM option 'UseParNewGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Cassandra 4.0 rc-1 run on windows using java 11 error will be occurred -- 'cassandra' is not recognized as an internal or external command,
operable program or batch file.

Run course batch service -- exception in thread "main" java.lang.UnsatisfiedLinkError: failed to load the required native library

Create Organization and Create User Apis Fails

@VarunGKulkarni commented on Wed Feb 14 2018

Our request body for creating a user is
{ "request": { "firstName": "jctest1", "lastName": "lastname", "password": "Julia", "email": "[email protected]", "userName": "pradeep", "phone": "9945222011" }
and request body for creating an organization is
{
"request": {
"orgName": "JuliaTest",
"description": "Julia Computing, Inc."
}
}
we are getting responses as
{
"id": "api.user.create",
"ver": "v1",
"ts": "2018-02-09 10:29:51:645+0000",
"params": {
"resmsgid": null,
"msgid": "26238cc0-744f-4bf5-8e2a-5155352206a1",
"err": null,
"status": "SERVER_ERROR",
"errmsg": null
},
"responseCode": "SERVER_ERROR",
"result": {}
}
Please Look into this.


@manzarul commented on Wed Feb 14 2018

@kochhar @vrayulu , create user api is failing due to some ssl issues from keycloak to sunbird-mw.
here is the issues file.
issues.txt

Assign role API giving error response

@manzarul, @kochhar, @gsbajaj72

Created a new root org, sub-org, user successfully and tried to assign admin role to the user using API, got the below response. Can you pls look into it

curl -X POST \

https://sunbird.juliacomputing.io/api/org/v1/role/assign
-H 'accept: application/json'
-H 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIxMTkyNTBlMGI0Yzc0NWEwOGIyMjFiM2M3OTE3ZTk5MyJ9.2ow7e28seHQNKQ_ZjME1_0QhTGtJKDwu4FQ0qs4CVxU'
-H 'cache-control: no-cache'
-H 'content-type: application/json'
-H 'postman-token: fef776fa-44ad-9bd9-7fb8-9b602a21e29d'
-H 'ts: 2018-02-21 16:21:56:578+0530'
-H 'x-authenticated-user-token: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5TTdSR0dVdldlSGMxOTVsUllWMGdkdmlnRkF6NWVSM18tSnhBeklKbXJVIn0.eyJqdGkiOiI3ZWMyYjc0MC05Yzg4LTQ4MmUtYmQ0Ni0xMjcwNzA4ZDE2OWUiLCJleHAiOjE1MTkwNzExNzQsIm5iZiI6MCwiaWF0IjoxNTE5MDQ5NTc0LCJpc3MiOiJodHRwczovL3N1bmJpcmQuanVsaWFjb21wdXRpbmcuaW8vYXV0aC9yZWFsbXMvc3VuYmlyZCIsImF1ZCI6ImFkbWluLWNsaSIsInN1YiI6ImFmYTgzMjYxLThmYzItNDQ2YS05OGYyLWM0ZmQ0ZmIxODA4YSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFkbWluLWNsaSIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjBhYmFlNGJlLWIzNWEtNDZjMC1iYjg2LWUyYzkwNzIyOTg4MSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOltdLCJyZXNvdXJjZV9hY2Nlc3MiOnt9LCJuYW1lIjoiamN0ZXN0MSBsYXN0bmFtZSIsInByZWZlcnJlZF91c2VybmFtZSI6InByYWRlZXAiLCJnaXZlbl9uYW1lIjoiamN0ZXN0MSIsImZhbWlseV9uYW1lIjoibGFzdG5hbWUiLCJlbWFpbCI6InByYWRlZXBAanVsaWFjb21wdXRpbmcuY29tIn0.NO839lVFZh_Bhc5xyD9hA67HGhX9b1QuJZsfx_dGLFrcN-K8UH5D2rl1CY3jGvVZ5jddMCtEwxD6XSX1Ena5IkiK1wDoKh-DmDFzp4W4szf1cfiWxP3bFGJDhqXbq2srwwvulXx6EfogOTx9ZbGRIuqzldJgP1hmvfKcXKaazjOIIY4QYGDt7HtrkR_71MATyOJxNJVQ79A1oWMgxEvCC-79zRn1nkxHKhGYRsUbvmKx9ChfkXw0foN1pCUZGjz4M3eWQ6rdZTVCOUc9bhTm8FM5mTS0gUbRMafgKQxVt52i1CXgM9MZM55v74EXbpHX_8z9MvIgZyhYZrEZrgLCJw'\
-H 'x-consumer-id: X-Consumer-ID'
-H 'x-device-id: X-Device-ID'
-H 'x-msgid: 8e27cbf5-e299-43b0-bca7-8347f7e5abcf'
-d ' {
"ts":"2018/02/21 16:16:39",
"params": {

},
"request":{
"userId":"96ee8497-95e9-40a2-9358-e052ba42a1c2",
"organisationId":"0124453662635048969",
"roles": ["CONTENT_CURATION","ADMIN","CONTENT_CREATION","CONTENT_REVIEW","ORG_ADMIN"]

      }

}' -k
{"id":"api.user.assign.role","ver":"v1","ts":"2018-02-21 11:08:16:972+0000","params":{"resmsgid":null,"msgid":"8e27cbf5-e299-43b0-bca7-8347f7e5abcf","err":"INVALID_USR_ORG_DATA","status":"INVALID_USR_ORG_DATA","errmsg":"Given User Data doesn't belongs to this organization. Please provide a valid one."},"responseCode":"CLIENT_ERROR","result":{}}

build sunbird-lms-service release-1.9

How to build sunbird-lms-service release-1.9? I see in later versions (1.11) there is actors folder with submodule to sunbird-lms-mw and I'm able to build that version.
Now I have all the other core services running fine on 1.9 and so if I want to customize learner, I need to build and deploy 1.9 of sunbird-lms-service.. help needed

How to publish data from spring application to sunbird and from sunbird to kafka

I would like to understand how we can configure the sunbird to a spring application,

Basically what i am trying to achieve is

  1. Spring boot application receive an event from mobile app
  2. Sunbird process that incoming event
  3. Sunbird publish that to the kafka
  4. Kafka will the publish it to Druid
  5. From DRUID i will publish to superset for analytics.

I am completely new to server setup, so is there any documentation about how to connect the spring - sunbird - kofka or similar stacks together, any help will be highly appreciated.

User unable to publish content

@kochhar, @manzarul
Julia computing sunbird user is unable to publish the content. screenshot attached. The user has below roles assigned

"roles": ["CONTENT_CURATION","ADMIN","CONTENT_CREATION","CONTENT_REVIEW","ORG_ADMIN"]

screen shot 2018-02-22 at 16 23 04
Please let me know if you need further information.

Thanks,
Thillai.

unable to start project due to Config map

when we issue the command mvn play2:run we are getting this error in the logs in 5.3.0

12:15:35,921 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
12:15:36,024 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:66 - no applicable action for [layout], current ElementPath is [[configuration][appender][encoder][layout]]
12:15:36,025 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [net.logstash.logback.fieldnames.LogstashFieldNames] for [fieldNames] property
12:15:36,031 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@18:24 - no applicable action for [stack_trace], current ElementPath is [[configuration][appender][encoder][layout][fieldNames][stack_trace]]
12:15:36,481 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
12:15:36,483 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNCSTDOUT]
12:15:36,483 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to ch.qos.logback.classic.AsyncAppender[ASYNCSTDOUT]
12:15:36,483 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNCSTDOUT] - Attaching appender named [STDOUT] to AsyncAppender.
12:15:36,484 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNCSTDOUT] - Setting discardingThreshold to 51
12:15:36,485 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
12:15:36,485 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [queryLoggerAppender]
12:15:36,485 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@37:70 - no applicable action for [layout], current ElementPath is [[configuration][appender][encoder][layout]]
12:15:36,485 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@38:26 - no applicable action for [timestampFormat], current ElementPath is [[configuration][appender][encoder][layout][timestampFormat]]
12:15:36,485 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@39:36 - no applicable action for [timestampFormatTimezoneId], current ElementPath is [[configuration][appender][encoder][layout][timestampFormatTimezoneId]]
12:15:36,485 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [net.logstash.logback.fieldnames.LogstashFieldNames] for [fieldNames] property

Can anyone help us out .

Integrating with an authentication management system other than Keycloak

Project Details

User account creation and management, user login as well as platform administration capabilities is powered by the User-Org Service of Sunbird Lern Building Block.
This component enables the users to create accounts to save their platform preferences, access relevant content based on their preferences etc. Users with accounts on the system who login also get access to richer platform features such as Courses and Learner passbook.
Platform administrators can be granted capabilities to manage user roles on the platform, as well as manage platform master data (eg. Location data, Framework values etc.)
Configure the platform to allow for user logins via various mechanisms including username/ password, Google login or single sign-on with other approved systems.

Features to be implemented

UserOrg currently supports authentication using Keycloak 7.0.1. This project is to check whether other authentication system can be used instead of Keycloak.

Learning Path

Complexity
Medium

Skills Required
Java

Name of Mentors:
Hari P - [[email protected])

Project size
TBD

Product Set Up
Instruction to install userorg service is available here

Acceptance Criteria
Replace keycloak with any other authentication system , also generalise the authentication flow.

Milestones

  • Understanding the requirements
  • Understanding Keycloak and user-org integration
  • Setting up the service
  • Understanding the authentication flow
  • Checking login feasibility with other authentication systems

How to solve this problem

Error will be occure when run lms service --> A JSONObject text must begin with '{' at 0 [character 1 line 1]","lname":"org.sunbird.actor.background.ChannelRegistrationActor

User unable to save the content

@kochhar

Julia Computing admin user is unable to save content, screenshot attached. Please let us know if the user needs to be added to any new roles. User already has the below roles
"roles": ["CONTENT_CURATION","ADMIN","CONTENT_CREATION","CONTENT_REVIEW","ORG_ADMIN"]

screen shot 2018-02-22 at 15 31 03

Please let me know if any other info is required.

Thanks
Thillai.

Issue encountered when Installing maven dependencies this repository as Unsupported class file major version

mvn clean install -DskipTests=true -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6

[INFO] Reactor Summary for lms-service 1.0-SNAPSHOT:
[INFO]
[INFO] lms-service ........................................ SUCCESS [ 1.151 s]
[INFO] core ............................................... SUCCESS [ 0.027 s]
[INFO] platform-common .................................... SUCCESS [ 7.942 s]
[INFO] actor-core ......................................... SUCCESS [ 0.819 s]
[INFO] cassandra-utils .................................... SUCCESS [ 1.445 s]
[INFO] es-utils ........................................... SUCCESS [ 1.514 s]
[INFO] notification-utils ................................. SUCCESS [ 1.221 s]
[INFO] service ............................................ SUCCESS [ 7.244 s]
[INFO] controller ......................................... SUCCESS [ 27.041 s]
[INFO] LMS Aggregate Report ............................... FAILURE [ 0.305 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 49.425 s
[INFO] Finished at: 2024-04-08T05:34:55Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.8.6:report-aggregate (it-report) on project reports: An error has occurred in JaCoCo Aggregate report generation.: Error while creating report: Error while analyzing /var/lib/jenkins/workspace/Build/Core/Learner/controller/target/classes/filters/CustomGzipFilter.class. Unsupported class file major version 61 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :reports

How to import sunbird into Eclipse?

I wrote an Eclipse plugin and am now collecting a database of large Java Maven projects. I tried to import Sunbird into Eclipse, but it won't let me run the tests.

It displays the following error:

Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project lms-service: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.3:site failed: A required class was missing while executing org.apache.maven.plugins:maven-site-plugin:3.3:site: org/apache/maven/doxia/siterenderer/DocumentContent

I tried changing the java version or maven version, adding that plugin to maven dependencies, and following all of the StackOverflow suggestions, such as removing the.m2 folder, but none of them worked.

Is Sunbird Eclipse compatible? Is it possible to run their test classes inside Eclipse? If so, what procedure should I follow?

userorg-config.sh file deleted.

@reshmi-nair While setting up the userorg service, there is a command to set up the environment variables using userorg-config.sh file but this file is deleted from the repository. Is this not required?

image

JVM Error

We built the Docker Image from release-2.10.0 branch,
We are deploying LMS Service on EKS(Elastic Kubernetes Service).
This is the below log we are getting while the application is starting

This file contains all the env vars env.txt

[Global flags
     intx ActiveProcessorCount                      = -1                                  {product}
    uintx AdaptiveSizeDecrementScaleFactor          = 4                                   {product}
    uintx AdaptiveSizeMajorGCDecayTimeScale         = 10                                  {product}
    uintx AdaptiveSizePausePolicy                   = 0                                   {product}
    uintx AdaptiveSizePolicyCollectionCostMargin    = 50                                  {product}
    uintx AdaptiveSizePolicyInitializingSteps       = 20                                  {product}
    uintx AdaptiveSizePolicyOutputInterval          = 0                                   {product}
    uintx AdaptiveSizePolicyWeight                  = 10                                  {product}
    uintx AdaptiveSizeThroughPutPolicy              = 0                                   {product}
    uintx AdaptiveTimeWeight                        = 25                                  {product}
     bool AdjustConcurrency                         = false                               {product}
     bool AggressiveHeap                            = false                               {product}
     bool AggressiveOpts                            = false                               {product}
     intx AliasLevel                                = 3                                   {C2 product}
     bool AlignVector                               = false                               {C2 product}
     intx AllocateInstancePrefetchLines             = 1                                   {product}
     intx AllocatePrefetchDistance                  = 192                                 {product}
     intx AllocatePrefetchInstr                     = 3                                   {product}
     intx AllocatePrefetchLines                     = 4                                   {product}
     intx AllocatePrefetchStepSize                  = 64                                  {product}
     intx AllocatePrefetchStyle                     = 1                                   {product}
     bool AllowJNIEnvProxy                          = false                               {product}
     bool AllowNonVirtualCalls                      = false                               {product}
     bool AllowParallelDefineClass                  = false                               {product}
     bool AllowUserSignalHandlers                   = false                               {product}
     bool AlwaysActAsServerClassMachine             = false                               {product}
     bool AlwaysCompileLoopMethods                  = false                               {product}
     bool AlwaysLockClassLoader                     = false                               {product}
     bool AlwaysPreTouch                            = false                               {product}
     bool AlwaysRestoreFPU                          = false                               {product}
     bool AlwaysTenure                              = false                               {product}
     bool AssertOnSuspendWaitFailure                = false                               {product}
     bool AssumeMP                                  = false                               {product}
     intx AutoBoxCacheMax                           = 128                                 {C2 product}
    uintx AutoGCSelectPauseMillis                   = 5000                                {product}
     intx BCEATraceLevel                            = 0                                   {product}
     intx BackEdgeThreshold                         = 100000                              {pd product}
     bool BackgroundCompilation                     = true                                {pd product}
    uintx BaseFootPrintEstimate                     = 268435456                           {product}
     intx BiasedLockingBulkRebiasThreshold          = 20                                  {product}
     intx BiasedLockingBulkRevokeThreshold          = 40                                  {product}
     intx BiasedLockingDecayTime                    = 25000                               {product}
     intx BiasedLockingStartupDelay                 = 4000                                {product}
     bool BindGCTaskThreadsToCPUs                   = false                               {product}
     bool BlockLayoutByFrequency                    = true                                {C2 product}
     intx BlockLayoutMinDiamondPercentage           = 20                                  {C2 product}
     bool BlockLayoutRotateLoops                    = true                                {C2 product}
     bool BranchOnRegister                          = false                               {C2 product}
     bool BytecodeVerificationLocal                 = false                               {product}
     bool BytecodeVerificationRemote                = true                                {product}
     bool C1OptimizeVirtualCallProfiling            = true                                {C1 product}
     bool C1ProfileBranches                         = true                                {C1 product}
     bool C1ProfileCalls                            = true                                {C1 product}
     bool C1ProfileCheckcasts                       = true                                {C1 product}
     bool C1ProfileInlinedCalls                     = true                                {C1 product}
     bool C1ProfileVirtualCalls                     = true                                {C1 product}
     bool C1UpdateMethodData                        = true                                {C1 product}
     intx CICompilerCount                          := 2                                   {product}
     bool CICompilerCountPerCPU                     = true                                {product}
     bool CITime                                    = false                               {product}
     bool CMSAbortSemantics                         = false                               {product}
    uintx CMSAbortablePrecleanMinWorkPerIteration   = 100                                 {product}
     intx CMSAbortablePrecleanWaitMillis            = 100                                 {manageable}
    uintx CMSBitMapYieldQuantum                     = 10485760                            {product}
    uintx CMSBootstrapOccupancy                     = 50                                  {product}
     bool CMSClassUnloadingEnabled                  = true                                {product}
    uintx CMSClassUnloadingMaxInterval              = 0                                   {product}
     bool CMSCleanOnEnter                           = true                                {product}
     bool CMSCompactWhenClearAllSoftRefs            = true                                {product}
    uintx CMSConcMarkMultiple                       = 32                                  {product}
     bool CMSConcurrentMTEnabled                    = true                                {product}
    uintx CMSCoordinatorYieldSleepCount             = 10                                  {product}
     bool CMSDumpAtPromotionFailure                 = false                               {product}
     bool CMSEdenChunksRecordAlways                 = true                                {product}
    uintx CMSExpAvgFactor                           = 50                                  {product}
     bool CMSExtrapolateSweep                       = false                               {product}
    uintx CMSFullGCsBeforeCompaction                = 0                                   {product}
    uintx CMSIncrementalDutyCycle                   = 10                                  {product}
    uintx CMSIncrementalDutyCycleMin                = 0                                   {product}
     bool CMSIncrementalMode                        = false                               {product}
    uintx CMSIncrementalOffset                      = 0                                   {product}
     bool CMSIncrementalPacing                      = true                                {product}
    uintx CMSIncrementalSafetyFactor                = 10                                  {product}
    uintx CMSIndexedFreeListReplenish               = 4                                   {product}
     intx CMSInitiatingOccupancyFraction            = -1                                  {product}
    uintx CMSIsTooFullPercentage                    = 98                                  {product}
   double CMSLargeCoalSurplusPercent                = 0.950000                            {product}
   double CMSLargeSplitSurplusPercent               = 1.000000                            {product}
     bool CMSLoopWarn                               = false                               {product}
    uintx CMSMaxAbortablePrecleanLoops              = 0                                   {product}
     intx CMSMaxAbortablePrecleanTime               = 5000                                {product}
    uintx CMSOldPLABMax                             = 1024                                {product}
    uintx CMSOldPLABMin                             = 16                                  {product}
    uintx CMSOldPLABNumRefills                      = 4                                   {product}
    uintx CMSOldPLABReactivityFactor                = 2                                   {product}
     bool CMSOldPLABResizeQuicker                   = false                               {product}
    uintx CMSOldPLABToleranceFactor                 = 4                                   {product}
     bool CMSPLABRecordAlways                       = true                                {product}
    uintx CMSParPromoteBlocksToClaim                = 16                                  {product}
     bool CMSParallelInitialMarkEnabled             = true                                {product}
     bool CMSParallelRemarkEnabled                  = true                                {product}
     bool CMSParallelSurvivorRemarkEnabled          = true                                {product}
    uintx CMSPrecleanDenominator                    = 3                                   {product}
    uintx CMSPrecleanIter                           = 3                                   {product}
    uintx CMSPrecleanNumerator                      = 2                                   {product}
     bool CMSPrecleanRefLists1                      = true                                {product}
     bool CMSPrecleanRefLists2                      = false                               {product}
     bool CMSPrecleanSurvivors1                     = false                               {product}
     bool CMSPrecleanSurvivors2                     = true                                {product}
    uintx CMSPrecleanThreshold                      = 1000                                {product}
     bool CMSPrecleaningEnabled                     = true                                {product}
     bool CMSPrintChunksInDump                      = false                               {product}
     bool CMSPrintEdenSurvivorChunks                = false                               {product}
     bool CMSPrintObjectsInDump                     = false                               {product}
    uintx CMSRemarkVerifyVariant                    = 1                                   {product}
     bool CMSReplenishIntermediate                  = true                                {product}
    uintx CMSRescanMultiple                         = 32                                  {product}
    uintx CMSSamplingGrain                          = 16384                               {product}
     bool CMSScavengeBeforeRemark                   = false                               {product}
    uintx CMSScheduleRemarkEdenPenetration          = 50                                  {product}
    uintx CMSScheduleRemarkEdenSizeThreshold        = 2097152                             {product}
    uintx CMSScheduleRemarkSamplingRatio            = 5                                   {product}
   double CMSSmallCoalSurplusPercent                = 1.050000                            {product}
   double CMSSmallSplitSurplusPercent               = 1.100000                            {product}
     bool CMSSplitIndexedFreeListBlocks             = true                                {product}
     intx CMSTriggerInterval                        = -1                                  {manageable}
    uintx CMSTriggerRatio                           = 80                                  {product}
     intx CMSWaitDuration                           = 2000                                {manageable}
    uintx CMSWorkQueueDrainThreshold                = 10                                  {product}
     bool CMSYield                                  = true                                {product}
    uintx CMSYieldSleepCount                        = 0                                   {product}
    uintx CMSYoungGenPerWorker                      = 67108864                            {pd product}
    uintx CMS_FLSPadding                            = 1                                   {product}
    uintx CMS_FLSWeight                             = 75                                  {product}
    uintx CMS_SweepPadding                          = 1                                   {product}
    uintx CMS_SweepTimerThresholdMillis             = 10                                  {product}
    uintx CMS_SweepWeight                           = 75                                  {product}
     bool CheckEndorsedAndExtDirs                   = false                               {product}
     bool CheckJNICalls                             = false                               {product}
     bool ClassUnloading                            = true                                {product}
     bool ClassUnloadingWithConcurrentMark          = true                                {product}
     intx ClearFPUAtPark                            = 0                                   {product}
     bool ClipInlining                              = true                                {product}
    uintx CodeCacheExpansionSize                    = 65536                               {pd product}
    uintx CodeCacheMinimumFreeSpace                 = 512000                              {product}
     bool CollectGen0First                          = false                               {product}
     bool CompactFields                             = true                                {product}
     intx CompilationPolicyChoice                   = 3                                   {product}
ccstrlist CompileCommand                            =                                     {product}
    ccstr CompileCommandFile                        =                                     {product}
ccstrlist CompileOnly                               =                                     {product}
     intx CompileThreshold                          = 10000                               {pd product}
     bool CompilerThreadHintNoPreempt               = true                                {product}
     intx CompilerThreadPriority                    = -1                                  {product}
     intx CompilerThreadStackSize                   = 0                                   {pd product}
    uintx CompressedClassSpaceSize                  = 1073741824                          {product}
    uintx ConcGCThreads                             = 0                                   {product}
     intx ConditionalMoveLimit                      = 3                                   {C2 pd product}
     intx ContendedPaddingWidth                     = 128                                 {product}
     bool ConvertSleepToYield                       = true                                {pd product}
     bool ConvertYieldToSleep                       = false                               {product}
     bool CrashOnOutOfMemoryError                   = false                               {product}
     bool CreateMinidumpOnCrash                     = false                               {product}
     bool CriticalJNINatives                        = true                                {product}
     bool DTraceAllocProbes                         = false                               {product}
     bool DTraceMethodProbes                        = false                               {product}
     bool DTraceMonitorProbes                       = false                               {product}
     bool Debugging                                 = false                               {product}
    uintx DefaultMaxRAMFraction                     = 4                                   {product}
     intx DefaultThreadPriority                     = -1                                  {product}
     intx DeferPollingPageLoopCount                 = -1                                  {product}
     intx DeferThrSuspendLoopCount                  = 4000                                {product}
     bool DeoptimizeRandom                          = false                               {product}
     bool DisableAttachMechanism                    = false                               {product}
     bool DisableExplicitGC                         = false                               {product}
     bool DisplayVMOutputToStderr                   = false                               {product}
     bool DisplayVMOutputToStdout                   = false                               {product}
     bool DoEscapeAnalysis                          = true                                {C2 product}
     bool DontCompileHugeMethods                    = true                                {product}
     bool DontYieldALot                             = false                               {pd product}
    ccstr DumpLoadedClassList                       =                                     {product}
     bool DumpReplayDataOnError                     = true                                {product}
     bool DumpSharedSpaces                          = false                               {product}
     bool EagerXrunInit                             = false                               {product}
     intx EliminateAllocationArraySizeLimit         = 64                                  {C2 product}
     bool EliminateAllocations                      = true                                {C2 product}
     bool EliminateAutoBox                          = true                                {C2 product}
     bool EliminateLocks                            = true                                {C2 product}
     bool EliminateNestedLocks                      = true                                {C2 product}
     intx EmitSync                                  = 0                                   {product}
     bool EnableContended                           = true                                {product}
     bool EnableTracing                             = false                               {product}
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    ccstr ErrorFile                                 =                                     {product}
    ccstr ErrorReportServer                         =                                     {product}
   double EscapeAnalysisTimeout                     = 20.000000                           {C2 product}
     bool EstimateArgEscape                         = true                                {product}
     bool ExitOnOutOfMemoryError                    = false                               {product}
     bool ExplicitGCInvokesConcurrent               = false                               {product}
     bool ExplicitGCInvokesConcurrentAndUnloadsClasses  = false                               {product}
     bool ExtendedDTraceProbes                      = false                               {product}
    ccstr ExtraSharedClassListFile                  =                                     {product}
     bool FLSAlwaysCoalesceLarge                    = false                               {product}
    uintx FLSCoalescePolicy                         = 2                                   {product}
   double FLSLargestBlockCoalesceProximity          = 0.990000                            {product}
     bool FailOverToOldVerifier                     = true                                {product}
     bool FastTLABRefill                            = true                                {product}
     intx FenceInstruction                          = 0                                   {ARCH product}
     intx FieldsAllocationStyle                     = 1                                   {product}
     bool FilterSpuriousWakeups                     = true                                {product}
     bool ForceNUMA                                 = false                               {product}
     bool ForceTimeHighResolution                   = false                               {product}
     intx FreqInlineSize                            = 325                                 {pd product}
   double G1ConcMarkStepDurationMillis              = 10.000000                           {product}
    uintx G1ConcRSHotCardLimit                      = 4                                   {product}
    uintx G1ConcRSLogCacheSize                      = 10                                  {product}
     intx G1ConcRefinementGreenZone                 = 0                                   {product}
     intx G1ConcRefinementRedZone                   = 0                                   {product}
     intx G1ConcRefinementServiceIntervalMillis     = 300                                 {product}
    uintx G1ConcRefinementThreads                   = 0                                   {product}
     intx G1ConcRefinementThresholdStep             = 0                                   {product}
     intx G1ConcRefinementYellowZone                = 0                                   {product}
    uintx G1ConfidencePercent                       = 50                                  {product}
    uintx G1HeapRegionSize                          = 0                                   {product}
    uintx G1HeapWastePercent                        = 5                                   {product}
    uintx G1MixedGCCountTarget                      = 8                                   {product}
     intx G1RSetRegionEntries                       = 0                                   {product}
    uintx G1RSetScanBlockSize                       = 64                                  {product}
     intx G1RSetSparseRegionEntries                 = 0                                   {product}
     intx G1RSetUpdatingPauseTimePercent            = 10                                  {product}
     intx G1RefProcDrainInterval                    = 10                                  {product}
    uintx G1ReservePercent                          = 10                                  {product}
    uintx G1SATBBufferEnqueueingThresholdPercent    = 60                                  {product}
     intx G1SATBBufferSize                          = 1024                                {product}
     intx G1UpdateBufferSize                        = 256                                 {product}
     bool G1UseAdaptiveConcRefinement               = true                                {product}
    uintx GCDrainStackTargetSize                    = 64                                  {product}
    uintx GCHeapFreeLimit                           = 2                                   {product}
    uintx GCLockerEdenExpansionPercent              = 5                                   {product}
     bool GCLockerInvokesConcurrent                 = false                               {product}
    uintx GCLogFileSize                             = 8192                                {product}
    uintx GCPauseIntervalMillis                     = 0                                   {product}
    uintx GCTaskTimeStampEntries                    = 200                                 {product}
    uintx GCTimeLimit                               = 98                                  {product}
    uintx GCTimeRatio                               = 99                                  {product}
    uintx HeapBaseMinAddress                        = 2147483648                          {pd product}
     bool HeapDumpAfterFullGC                       = false                               {manageable}
     bool HeapDumpBeforeFullGC                      = false                               {manageable}
     bool HeapDumpOnOutOfMemoryError                = false                               {manageable}
    ccstr HeapDumpPath                              =                                     {manageable}
    uintx HeapFirstMaximumCompactionCount           = 3                                   {product}
    uintx HeapMaximumCompactionInterval             = 20                                  {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
     bool IgnoreEmptyClassPaths                     = false                               {product}
     bool IgnoreUnrecognizedVMOptions               = false                               {product}
    uintx IncreaseFirstTierCompileThresholdAt       = 50                                  {product}
     bool IncrementalInline                         = true                                {C2 product}
    uintx InitialBootClassLoaderMetaspaceSize       = 4194304                             {product}
    uintx InitialCodeCacheSize                      = 2555904                             {pd product}
    uintx InitialHeapSize                          := 16777216                            {product}
    uintx InitialRAMFraction                        = 64                                  {product}
   double InitialRAMPercentage                      = 1.562500                            {product}
    uintx InitialSurvivorRatio                      = 8                                   {product}
    uintx InitialTenuringThreshold                  = 7                                   {product}
    uintx InitiatingHeapOccupancyPercent            = 45                                  {product}
     bool Inline                                    = true                                {product}
    ccstr InlineDataFile                            =                                     {product}
     intx InlineSmallCode                           = 2000                                {pd product}
     bool InlineSynchronizedMethods                 = true                                {C1 product}
     bool InsertMemBarAfterArraycopy                = true                                {C2 product}
     intx InteriorEntryAlignment                    = 16                                  {C2 pd product}
     intx InterpreterProfilePercentage              = 33                                  {product}
     bool JNIDetachReleasesMonitors                 = true                                {product}
     bool JavaMonitorsInStackTrace                  = true                                {product}
     intx JavaPriority10_To_OSPriority              = -1                                  {product}
     intx JavaPriority1_To_OSPriority               = -1                                  {product}
     intx JavaPriority2_To_OSPriority               = -1                                  {product}
     intx JavaPriority3_To_OSPriority               = -1                                  {product}
     intx JavaPriority4_To_OSPriority               = -1                                  {product}
     intx JavaPriority5_To_OSPriority               = -1                                  {product}
     intx JavaPriority6_To_OSPriority               = -1                                  {product}
     intx JavaPriority7_To_OSPriority               = -1                                  {product}
     intx JavaPriority8_To_OSPriority               = -1                                  {product}
     intx JavaPriority9_To_OSPriority               = -1                                  {product}
     bool LIRFillDelaySlots                         = false                               {C1 pd product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx LargePageSizeInBytes                      = 0                                   {product}
     bool LazyBootClassLoader                       = true                                {product}
     intx LiveNodeCountInliningCutoff               = 40000                               {C2 product}
     bool LoadExecStackDllInVMThread                = true                                {product}
     intx LoopMaxUnroll                             = 16                                  {C2 product}
     intx LoopOptsCount                             = 43                                  {C2 product}
     intx LoopUnrollLimit                           = 60                                  {C2 pd product}
     intx LoopUnrollMin                             = 4                                   {C2 product}
     bool LoopUnswitching                           = true                                {C2 product}
     bool ManagementServer                          = false                               {product}
    uintx MarkStackSize                             = 4194304                             {product}
    uintx MarkStackSizeMax                          = 536870912                           {product}
    uintx MarkSweepAlwaysCompactCount               = 4                                   {product}
    uintx MarkSweepDeadRatio                        = 5                                   {product}
     intx MaxBCEAEstimateLevel                      = 5                                   {product}
     intx MaxBCEAEstimateSize                       = 150                                 {product}
    uintx MaxDirectMemorySize                       = 0                                   {product}
     bool MaxFDLimit                                = true                                {product}
    uintx MaxGCMinorPauseMillis                     = 18446744073709551615                    {product}
    uintx MaxGCPauseMillis                          = 18446744073709551615                    {product}
    uintx MaxHeapFreeRatio                          = 70                                  {manageable}
    uintx MaxHeapSize                              := 629145600                           {product}
     intx MaxInlineLevel                            = 9                                   {product}
     intx MaxInlineSize                             = 35                                  {product}
     intx MaxJNILocalCapacity                       = 65536                               {product}
     intx MaxJavaStackTraceDepth                    = 1024                                {product}
     intx MaxJumpTableSize                          = 65000                               {C2 product}
     intx MaxJumpTableSparseness                    = 5                                   {C2 product}
     intx MaxLabelRootDepth                         = 1100                                {C2 product}
     intx MaxLoopPad                                = 11                                  {C2 product}
    uintx MaxMetaspaceExpansion                     = 5451776                             {product}
    uintx MaxMetaspaceFreeRatio                     = 70                                  {product}
    uintx MaxMetaspaceSize                          = 18446744073709547520                    {product}
    uintx MaxNewSize                               := 209715200                           {product}
     intx MaxNodeLimit                              = 75000                               {C2 product}
 uint64_t MaxRAM                                    = 137438953472                        {pd product}
    uintx MaxRAMFraction                            = 4                                   {product}
   double MaxRAMPercentage                          = 25.000000                           {product}
     intx MaxRecursiveInlineLevel                   = 1                                   {product}
    uintx MaxTenuringThreshold                      = 15                                  {product}
     intx MaxTrivialSize                            = 6                                   {product}
     intx MaxVectorSize                             = 32                                  {C2 product}
    uintx MetaspaceSize                             = 21807104                            {pd product}
     bool MethodFlushing                            = true                                {product}
    uintx MinHeapDeltaBytes                        := 196608                              {product}
    uintx MinHeapFreeRatio                          = 40                                  {manageable}
     intx MinInliningThreshold                      = 250                                 {product}
     intx MinJumpTableSize                          = 10                                  {C2 pd product}
    uintx MinMetaspaceExpansion                     = 339968                              {product}
    uintx MinMetaspaceFreeRatio                     = 40                                  {product}
    uintx MinRAMFraction                            = 2                                   {product}
   double MinRAMPercentage                          = 50.000000                           {product}
    uintx MinSurvivorRatio                          = 3                                   {product}
    uintx MinTLABSize                               = 2048                                {product}
     intx MonitorBound                              = 0                                   {product}
     bool MonitorInUseLists                         = false                               {product}
     intx MultiArrayExpandLimit                     = 6                                   {C2 product}
     bool MustCallLoadClassInternal                 = false                               {product}
    uintx NUMAChunkResizeWeight                     = 20                                  {product}
    uintx NUMAInterleaveGranularity                 = 2097152                             {product}
    uintx NUMAPageScanRate                          = 256                                 {product}
    uintx NUMASpaceResizeRate                       = 1073741824                          {product}
     bool NUMAStats                                 = false                               {product}
    ccstr NativeMemoryTracking                      = off                                 {product}
     bool NeedsDeoptSuspend                         = false                               {pd product}
     bool NeverActAsServerClassMachine              = false                               {pd product}
     bool NeverTenure                               = false                               {product}
    uintx NewRatio                                  = 2                                   {product}
    uintx NewSize                                  := 5570560                             {product}
    uintx NewSizeThreadIncrease                     = 5320                                {pd product}
     intx NmethodSweepActivity                      = 10                                  {product}
     intx NmethodSweepCheckInterval                 = 5                                   {product}
     intx NmethodSweepFraction                      = 16                                  {product}
     intx NodeLimitFudgeFactor                      = 2000                                {C2 product}
    uintx NumberOfGCLogFiles                        = 0                                   {product}
     intx NumberOfLoopInstrToAlign                  = 4                                   {C2 product}
     intx ObjectAlignmentInBytes                    = 8                                   {lp64_product}
    uintx OldPLABSize                               = 1024                                {product}
    uintx OldPLABWeight                             = 50                                  {product}
    uintx OldSize                                  := 11206656                            {product}
     bool OmitStackTraceInFastThrow                 = true                                {product}
ccstrlist OnError                                   =                                     {product}
ccstrlist OnOutOfMemoryError                        =                                     {product}
     intx OnStackReplacePercentage                  = 140                                 {pd product}
     bool OptimizeFill                              = true                                {C2 product}
     bool OptimizePtrCompare                        = true                                {C2 product}
     bool OptimizeStringConcat                      = true                                {C2 product}
     bool OptoBundling                              = false                               {C2 pd product}
     intx OptoLoopAlignment                         = 16                                  {pd product}
     bool OptoScheduling                            = false                               {C2 pd product}
    uintx PLABWeight                                = 75                                  {product}
     bool PSChunkLargeArrays                        = true                                {product}
     intx ParGCArrayScanChunk                       = 50                                  {product}
    uintx ParGCDesiredObjsFromOverflowList          = 20                                  {product}
     bool ParGCTrimOverflow                         = true                                {product}
     bool ParGCUseLocalOverflow                     = false                               {product}
    uintx ParallelGCBufferWastePct                  = 10                                  {product}
    uintx ParallelGCThreads                         = 0                                   {product}
     bool ParallelGCVerbose                         = false                               {product}
    uintx ParallelOldDeadWoodLimiterMean            = 50                                  {product}
    uintx ParallelOldDeadWoodLimiterStdDev          = 80                                  {product}
     bool ParallelRefProcBalancingEnabled           = true                                {product}
     bool ParallelRefProcEnabled                    = false                               {product}
     bool PartialPeelAtUnsignedTests                = true                                {C2 product}
     bool PartialPeelLoop                           = true                                {C2 product}
     intx PartialPeelNewPhiDelta                    = 0                                   {C2 product}
    uintx PausePadding                              = 1                                   {product}
     intx PerBytecodeRecompilationCutoff            = 200                                 {product}
     intx PerBytecodeTrapLimit                      = 4                                   {product}
     intx PerMethodRecompilationCutoff              = 400                                 {product}
     intx PerMethodTrapLimit                        = 100                                 {product}
     bool PerfAllowAtExitRegistration               = false                               {product}
     bool PerfBypassFileSystemCheck                 = false                               {product}
     intx PerfDataMemorySize                        = 32768                               {product}
     intx PerfDataSamplingInterval                  = 50                                  {product}
    ccstr PerfDataSaveFile                          =                                     {product}
     bool PerfDataSaveToFile                        = false                               {product}
     bool PerfDisableSharedMem                      = false                               {product}
     intx PerfMaxStringConstLength                  = 1024                                {product}
     intx PreInflateSpin                            = 10                                  {pd product}
     bool PreferContainerQuotaForCPUCount           = true                                {product}
     bool PreferInterpreterNativeStubs              = false                               {pd product}
     intx PrefetchCopyIntervalInBytes               = 576                                 {product}
     intx PrefetchFieldsAhead                       = 1                                   {product}
     intx PrefetchScanIntervalInBytes               = 576                                 {product}
     bool PreserveAllAnnotations                    = false                               {product}
     bool PreserveFramePointer                      = false                               {pd product}
    uintx PretenureSizeThreshold                    = 0                                   {product}
     bool PrintAdaptiveSizePolicy                   = false                               {product}
     bool PrintCMSInitiationStatistics              = false                               {product}
     intx PrintCMSStatistics                        = 0                                   {product}
     bool PrintClassHistogram                       = false                               {manageable}
     bool PrintClassHistogramAfterFullGC            = false                               {manageable}
     bool PrintClassHistogramBeforeFullGC           = false                               {manageable}
     bool PrintCodeCache                            = false                               {product}
     bool PrintCodeCacheOnCompilation               = false                               {product}
     bool PrintCommandLineFlags                     = false                               {product}
     bool PrintCompilation                          = false                               {product}
     bool PrintConcurrentLocks                      = false                               {manageable}
     intx PrintFLSCensus                            = 0                                   {product}
     intx PrintFLSStatistics                        = 0                                   {product}
     bool PrintFlagsFinal                          := true                                {product}
     bool PrintFlagsInitial                         = false                               {product}
     bool PrintGC                                   = false                               {manageable}
     bool PrintGCApplicationConcurrentTime          = false                               {product}
     bool PrintGCApplicationStoppedTime             = false                               {product}
     bool PrintGCCause                              = true                                {product}
     bool PrintGCDateStamps                         = false                               {manageable}
     bool PrintGCDetails                            = false                               {manageable}
     bool PrintGCID                                 = false                               {manageable}
     bool PrintGCTaskTimeStamps                     = false                               {product}
     bool PrintGCTimeStamps                         = false                               {manageable}
     bool PrintHeapAtGC                             = false                               {product rw}
     bool PrintHeapAtGCExtended                     = false                               {product rw}
     bool PrintHeapAtSIGBREAK                       = true                                {product}
     bool PrintJNIGCStalls                          = false                               {product}
     bool PrintJNIResolving                         = false                               {product}
     bool PrintOldPLAB                              = false                               {product}
     bool PrintOopAddress                           = false                               {product}
     bool PrintPLAB                                 = false                               {product}
     bool PrintParallelOldGCPhaseTimes              = false                               {product}
     bool PrintPromotionFailure                     = false                               {product}
     bool PrintReferenceGC                          = false                               {product}
     bool PrintSafepointStatistics                  = false                               {product}
     intx PrintSafepointStatisticsCount             = 300                                 {product}
     intx PrintSafepointStatisticsTimeout           = -1                                  {product}
     bool PrintSharedArchiveAndExit                 = false                               {product}
     bool PrintSharedDictionary                     = false                               {product}
     bool PrintSharedSpaces                         = false                               {product}
     bool PrintStringDeduplicationStatistics        = false                               {product}
     bool PrintStringTableStatistics                = false                               {product}
     bool PrintTLAB                                 = false                               {product}
     bool PrintTenuringDistribution                 = false                               {product}
     bool PrintTieredEvents                         = false                               {product}
     bool PrintVMOptions                            = false                               {product}
     bool PrintVMQWaitTime                          = false                               {product}
     bool PrintWarnings                             = true                                {product}
    uintx ProcessDistributionStride                 = 4                                   {product}
     bool ProfileInterpreter                        = true                                {pd product}
     bool ProfileIntervals                          = false                               {product}
     intx ProfileIntervalsTicks                     = 100                                 {product}
     intx ProfileMaturityPercentage                 = 20                                  {product}
     bool ProfileVM                                 = false                               {product}
     bool ProfilerPrintByteCodeStatistics           = false                               {product}
     bool ProfilerRecordPC                          = false                               {product}
    uintx PromotedPadding                           = 3                                   {product}
    uintx QueuedAllocationWarningCount              = 0                                   {product}
    uintx RTMRetryCount                             = 5                                   {ARCH product}
     bool RangeCheckElimination                     = true                                {product}
     intx ReadPrefetchInstr                         = 0                                   {ARCH product}
     bool ReassociateInvariants                     = true                                {C2 product}
     bool ReduceBulkZeroing                         = true                                {C2 product}
     bool ReduceFieldZeroing                        = true                                {C2 product}
     bool ReduceInitialCardMarks                    = true                                {C2 product}
     bool ReduceSignalUsage                         = false                               {product}
     intx RefDiscoveryPolicy                        = 0                                   {product}
     bool ReflectionWrapResolutionErrors            = true                                {product}
     bool RegisterFinalizersAtInit                  = true                                {product}
     bool RelaxAccessControlCheck                   = false                               {product}
    ccstr ReplayDataFile                            =                                     {product}
     bool RequireSharedSpaces                       = false                               {product}
    uintx ReservedCodeCacheSize                     = 251658240                           {pd product}
     bool ResizeOldPLAB                             = true                                {product}
     bool ResizePLAB                                = true                                {product}
     bool ResizeTLAB                                = true                                {pd product}
     bool RestoreMXCSROnJNICalls                    = false                               {product}
     bool RestrictContended                         = true                                {product}
     bool RewriteBytecodes                          = true                                {pd product}
     bool RewriteFrequentPairs                      = true                                {pd product}
     intx SafepointPollOffset                       = 256                                 {C1 pd product}
     intx SafepointSpinBeforeYield                  = 2000                                {product}
     bool SafepointTimeout                          = false                               {product}
     intx SafepointTimeoutDelay                     = 10000                               {product}
     bool ScavengeBeforeFullGC                      = true                                {product}
     intx SelfDestructTimer                         = 0                                   {product}
    uintx SharedBaseAddress                         = 34359738368                         {product}
    ccstr SharedClassListFile                       =                                     {product}
    uintx SharedMiscCodeSize                        = 122880                              {product}
    uintx SharedMiscDataSize                        = 4194304                             {product}
    uintx SharedReadOnlySize                        = 16777216                            {product}
    uintx SharedReadWriteSize                       = 16777216                            {product}
     bool ShowMessageBoxOnError                     = false                               {product}
     intx SoftRefLRUPolicyMSPerMB                   = 1000                                {product}
     bool SpecialEncodeISOArray                     = true                                {C2 product}
     bool SplitIfBlocks                             = true                                {C2 product}
     intx StackRedPages                             = 1                                   {pd product}
     intx StackShadowPages                          = 20                                  {pd product}
     bool StackTraceInThrowable                     = true                                {product}
     intx StackYellowPages                          = 2                                   {pd product}
     bool StartAttachListener                       = false                               {product}
     intx StarvationMonitorInterval                 = 200                                 {product}
     bool StressLdcRewrite                          = false                               {product}
    uintx StringDeduplicationAgeThreshold           = 3                                   {product}
    uintx StringTableSize                           = 60013                               {product}
     bool SuppressFatalErrorMessage                 = false                               {product}
    uintx SurvivorPadding                           = 3                                   {product}
    uintx SurvivorRatio                             = 8                                   {product}
     intx SuspendRetryCount                         = 50                                  {product}
     intx SuspendRetryDelay                         = 5                                   {product}
     intx SyncFlags                                 = 0                                   {product}
    ccstr SyncKnobs                                 =                                     {product}
     intx SyncVerbose                               = 0                                   {product}
    uintx TLABAllocationWeight                      = 35                                  {product}
    uintx TLABRefillWasteFraction                   = 64                                  {product}
    uintx TLABSize                                  = 0                                   {product}
     bool TLABStats                                 = true                                {product}
    uintx TLABWasteIncrement                        = 4                                   {product}
    uintx TLABWasteTargetPercent                    = 1                                   {product}
    uintx TargetPLABWastePct                        = 10                                  {product}
    uintx TargetSurvivorRatio                       = 50                                  {product}
    uintx TenuredGenerationSizeIncrement            = 20                                  {product}
    uintx TenuredGenerationSizeSupplement           = 80                                  {product}
    uintx TenuredGenerationSizeSupplementDecay      = 2                                   {product}
     intx ThreadPriorityPolicy                      = 0                                   {product}
     bool ThreadPriorityVerbose                     = false                               {product}
    uintx ThreadSafetyMargin                        = 52428800                            {product}
     intx ThreadStackSize                           = 1024                                {pd product}
    uintx ThresholdTolerance                        = 10                                  {product}
     intx Tier0BackedgeNotifyFreqLog                = 10                                  {product}
     intx Tier0InvokeNotifyFreqLog                  = 7                                   {product}
     intx Tier0ProfilingStartPercentage             = 200                                 {product}
     intx Tier23InlineeNotifyFreqLog                = 20                                  {product}
     intx Tier2BackEdgeThreshold                    = 0                                   {product}
     intx Tier2BackedgeNotifyFreqLog                = 14                                  {product}
     intx Tier2CompileThreshold                     = 0                                   {product}
     intx Tier2InvokeNotifyFreqLog                  = 11                                  {product}
     intx Tier3BackEdgeThreshold                    = 60000                               {product}
     intx Tier3BackedgeNotifyFreqLog                = 13                                  {product}
     intx Tier3CompileThreshold                     = 2000                                {product}
     intx Tier3DelayOff                             = 2                                   {product}
     intx Tier3DelayOn                              = 5                                   {product}
     intx Tier3InvocationThreshold                  = 200                                 {product}
     intx Tier3InvokeNotifyFreqLog                  = 10                                  {product}
     intx Tier3LoadFeedback                         = 5                                   {product}
     intx Tier3MinInvocationThreshold               = 100                                 {product}
     intx Tier4BackEdgeThreshold                    = 40000                               {product}
     intx Tier4CompileThreshold                     = 15000                               {product}
     intx Tier4InvocationThreshold                  = 5000                                {product}
     intx Tier4LoadFeedback                         = 3                                   {product}
     intx Tier4MinInvocationThreshold               = 600                                 {product}
     bool TieredCompilation                         = true                                {pd product}
     intx TieredCompileTaskTimeout                  = 50                                  {product}
     intx TieredRateUpdateMaxTime                   = 25                                  {product}
     intx TieredRateUpdateMinTime                   = 1                                   {product}
     intx TieredStopAtLevel                         = 4                                   {product}
     bool TimeLinearScan                            = false                               {C1 product}
     bool TraceBiasedLocking                        = false                               {product}
     bool TraceClassLoading                         = false                               {product rw}
     bool TraceClassLoadingPreorder                 = false                               {product}
     bool TraceClassPaths                           = false                               {product}
     bool TraceClassResolution                      = false                               {product}
     bool TraceClassUnloading                       = false                               {product rw}
     bool TraceDynamicGCThreads                     = false                               {product}
     bool TraceGen0Time                             = false                               {product}
     bool TraceGen1Time                             = false                               {product}
    ccstr TraceJVMTI                                =                                     {product}
     bool TraceLoaderConstraints                    = false                               {product rw}
     bool TraceMetadataHumongousAllocation          = false                               {product}
     bool TraceMonitorInflation                     = false                               {product}
     bool TraceParallelOldGCTasks                   = false                               {product}
     intx TraceRedefineClasses                      = 0                                   {product}
     bool TraceSafepointCleanupTime                 = false                               {product}
     bool TraceSuspendWaitFailures                  = false                               {product}
     intx TrackedInitializationLimit                = 50                                  {C2 product}
     bool TransmitErrorReport                       = false                               {product}
     bool TrapBasedNullChecks                       = false                               {pd product}
     bool TrapBasedRangeChecks                      = false                               {C2 pd product}
     intx TypeProfileArgsLimit                      = 2                                   {product}
    uintx TypeProfileLevel                          = 111                                 {pd product}
     intx TypeProfileMajorReceiverPercent           = 90                                  {C2 product}
     intx TypeProfileParmsLimit                     = 2                                   {product}
     intx TypeProfileWidth                          = 2                                   {product}
     intx UnguardOnExecutionViolation               = 0                                   {product}
     bool UnlinkSymbolsALot                         = false                               {product}
     bool Use486InstrsOnly                          = false                               {ARCH product}
     bool UseAES                                    = true                                {product}
     bool UseAESIntrinsics                          = true                                {product}
     intx UseAVX                                    = 2                                   {ARCH product}
     bool UseAdaptiveGCBoundary                     = false                               {product}
     bool UseAdaptiveGenerationSizePolicyAtMajorCollection  = true                                {product}
     bool UseAdaptiveGenerationSizePolicyAtMinorCollection  = true                                {product}
     bool UseAdaptiveNUMAChunkSizing                = true                                {product}
     bool UseAdaptiveSizeDecayMajorGCCost           = true                                {product}
     bool UseAdaptiveSizePolicy                     = true                                {product}
     bool UseAdaptiveSizePolicyFootprintGoal        = true                                {product}
     bool UseAdaptiveSizePolicyWithSystemGC         = false                               {product}
     bool UseAddressNop                             = true                                {ARCH product}
     bool UseAltSigs                                = false                               {product}
     bool UseAutoGCSelectPolicy                     = false                               {product}
     bool UseBMI1Instructions                       = true                                {ARCH product}
     bool UseBMI2Instructions                       = true                                {ARCH product}
     bool UseBiasedLocking                          = true                                {product}
     bool UseBimorphicInlining                      = true                                {C2 product}
     bool UseBoundThreads                           = true                                {product}
     bool UseCLMUL                                  = true                                {ARCH product}
     bool UseCMSBestFit                             = true                                {product}
     bool UseCMSCollectionPassing                   = true                                {product}
     bool UseCMSCompactAtFullCollection             = true                                {product}
     bool UseCMSInitiatingOccupancyOnly             = false                               {product}
     bool UseCRC32Intrinsics                        = true                                {product}
     bool UseCodeCacheFlushing                      = true                                {product}
     bool UseCompiler                               = true                                {product}
     bool UseCompilerSafepoints                     = true                                {product}
     bool UseCompressedClassPointers               := true                                {lp64_product}
     bool UseCompressedOops                        := true                                {lp64_product}
     bool UseConcMarkSweepGC                        = false                               {product}
     bool UseCondCardMark                           = false                               {C2 product}
     bool UseContainerSupport                       = true                                {product}
     bool UseCountLeadingZerosInstruction           = true                                {ARCH product}
     bool UseCountTrailingZerosInstruction          = true                                {ARCH product}
     bool UseCountedLoopSafepoints                  = false                               {C2 product}
     bool UseCounterDecay                           = true                                {product}
     bool UseDivMod                                 = true                                {C2 product}
     bool UseDynamicNumberOfGCThreads               = false                               {product}
     bool UseFPUForSpilling                         = true                                {C2 product}
     bool UseFastAccessorMethods                    = false                               {product}
     bool UseFastEmptyMethods                       = false                               {product}
     bool UseFastJNIAccessors                       = true                                {product}
     bool UseFastStosb                              = true                                {ARCH product}
     bool UseG1GC                                   = false                               {product}
     bool UseGCLogFileRotation                      = false                               {product}
     bool UseGCOverheadLimit                        = true                                {product}
     bool UseGCTaskAffinity                         = false                               {product}
     bool UseHeavyMonitors                          = false                               {product}
     bool UseHugeTLBFS                              = false                               {product}
     bool UseInlineCaches                           = true                                {product}
     bool UseInterpreter                            = true                                {product}
     bool UseJumpTables                             = true                                {C2 product}
     bool UseLWPSynchronization                     = true                                {product}
     bool UseLargePages                             = false                               {pd product}
     bool UseLargePagesInMetaspace                  = false                               {product}
     bool UseLargePagesIndividualAllocation         = false                               {pd product}
     bool UseLinuxPosixThreadCPUClocks              = true                                {product}
     bool UseLockedTracing                          = false                               {product}
     bool UseLoopCounter                            = true                                {product}
     bool UseLoopInvariantCodeMotion                = true                                {C1 product}
     bool UseLoopPredicate                          = true                                {C2 product}
     bool UseMathExactIntrinsics                    = true                                {C2 product}
     bool UseMaximumCompactionOnSystemGC            = true                                {product}
     bool UseMembar                                 = false                               {pd product}
     bool UseMontgomeryMultiplyIntrinsic            = true                                {C2 product}
     bool UseMontgomerySquareIntrinsic              = true                                {C2 product}
     bool UseMulAddIntrinsic                        = true                                {C2 product}
     bool UseMultiplyToLenIntrinsic                 = true                                {C2 product}
     bool UseNUMA                                   = false                               {product}
     bool UseNUMAInterleaving                       = false                               {product}
     bool UseNewLongLShift                          = false                               {ARCH product}
     bool UseOSErrorReporting                       = false                               {pd product}
     bool UseOldInlining                            = true                                {C2 product}
     bool UseOnStackReplacement                     = true                                {pd product}
     bool UseOnlyInlinedBimorphic                   = true                                {C2 product}
     bool UseOprofile                               = false                               {product}
     bool UseOptoBiasInlining                       = true                                {C2 product}
     bool UsePSAdaptiveSurvivorSizePolicy           = true                                {product}
     bool UseParNewGC                               = false                               {product}
     bool UseParallelGC                             = false                               {product}
     bool UseParallelOldGC                          = false                               {product}
     bool UsePerfData                               = true                                {product}
     bool UsePopCountInstruction                    = true                                {product}
     bool UseRDPCForConstantTableBase               = false                               {C2 product}
     bool UseRTMDeopt                               = false                               {ARCH product}
     bool UseRTMLocking                             = false                               {ARCH product}
     bool UseSHA                                    = false                               {product}
     bool UseSHA1Intrinsics                         = false                               {product}
     bool UseSHA256Intrinsics                       = false                               {product}
     bool UseSHA512Intrinsics                       = false                               {product}
     bool UseSHM                                    = false                               {product}
     intx UseSSE                                    = 4                                   {product}
     bool UseSSE42Intrinsics                        = true                                {product}
     bool UseSerialGC                               = false                               {product}
     bool UseSharedSpaces                           = false                               {product}
     bool UseSignalChaining                         = true                                {product}
     bool UseSquareToLenIntrinsic                   = true                                {C2 product}
     bool UseStoreImmI16                            = false                               {ARCH product}
     bool UseStringDeduplication                    = false                               {product}
     bool UseSuperWord                              = true                                {C2 product}
     bool UseTLAB                                   = true                                {pd product}
     bool UseThreadPriorities                       = true                                {pd product}
     bool UseTransparentHugePages                   = false                               {product}
     bool UseTypeProfile                            = true                                {product}
     bool UseTypeSpeculation                        = true                                {C2 product}
     bool UseUnalignedLoadStores                    = true                                {ARCH product}
     bool UseVMInterruptibleIO                      = false                               {product}
     bool UseXMMForArrayCopy                        = true                                {product}
     bool UseXmmI2D                                 = false                               {ARCH product}
     bool UseXmmI2F                                 = false                               {ARCH product}
     bool UseXmmLoadAndClearUpper                   = true                                {ARCH product}
     bool UseXmmRegToRegMoveAll                     = true                                {ARCH product}
     bool VMThreadHintNoPreempt                     = false                               {product}
     intx VMThreadPriority                          = -1                                  {product}
     intx VMThreadStackSize                         = 1024                                {pd product}
     intx ValueMapInitialSize                       = 11                                  {C1 product}
     intx ValueMapMaxLoopSize                       = 8                                   {C1 product}
     intx ValueSearchLimit                          = 1000                                {C2 product}
     bool VerifyMergedCPBytecodes                   = true                                {product}
     bool VerifySharedSpaces                        = false                               {product}
     intx WorkAroundNPTLTimedWaitHang               = 1                                   {product}
    uintx YoungGenerationSizeIncrement              = 20                                  {product}
    uintx YoungGenerationSizeSupplement             = 80                                  {product}
    uintx YoungGenerationSizeSupplementDecay        = 8                                   {product}
    uintx YoungPLABSize                             = 4096                                {product}
     bool ZeroTLAB                                  = false                               {product}
     intx hashCode                                  = 5                                   {product}
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/sunbird/lms/lms-service-1.0-SNAPSHOT/lib/org.sunbird.sunbird-commons-1.0-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/sunbird/lms/lms-service-1.0-SNAPSHOT/lib/org.slf4j.slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory
binding actors for dependency injection
binding completed
StartModule:configure: Start
StartModule:configure: End
log4j:WARN No appenders could be found for logger (akka.event.slf4j.Slf4jLogger).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
{"eid":"BE_LOG","ets":1594179465241,"mid":"Sunbird.1594179465241.a6ea6c0b-abb6-44bc-bcce-0b8048c9e0aa","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SSO url is==https://staging.bodh.shikshalokam.org/auth/"}}}
{"eid":"BE_LOG","ets":1594179465165,"mid":"Sunbird.1594179465165.7702a4c4-59be-4de3-b184-13e8e620d595","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Redis client is null"}}}
{"eid":"BE_LOG","ets":1594179465166,"mid":"Sunbird.1594179465166.f3861bc7-c6de-4dc4-8082-05cd2a4c3e5a","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Redis client is null"}}}
{"eid":"BE_LOG","ets":1594179465166,"mid":"Sunbird.1594179465166.0b2f0ff1-eb3b-4514-81e9-734e2ba66234","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Redis client is null"}}}
{"eid":"BE_LOG","ets":1594179465318,"mid":"Sunbird.1594179465318.afa1d736-d1fb-450c-b80d-286da3e3fc90","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager: initialiseSingleServer called"}}}
{"eid":"BE_LOG","ets":1594179465164,"mid":"Sunbird.1594179465164.0fc56e84-821b-48de-8b04-44e99ee12cda","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Redis client is null"}}}
{"eid":"BE_LOG","ets":1594179465318,"mid":"Sunbird.1594179465318.30d02de2-8b74-4367-97e2-ef98a74c39d3","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager: initialiseSingleServer called"}}}
{"eid":"BE_LOG","ets":1594179465319,"mid":"Sunbird.1594179465319.71aa04f0-e89c-4f3f-9310-4a2427fbcd77","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager: initialiseSingleServer called"}}}
{"eid":"BE_LOG","ets":1594179465319,"mid":"Sunbird.1594179465318.79ff83a5-efab-4ca1-9a1f-f5abc4241d9e","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager: initialiseSingleServer called"}}}
ApplicationStart:ApplicationStart: Start
{"eid":"BE_LOG","ets":1594179466020,"mid":"Sunbird.1594179466020.75b45b64-b03c-432d-b525-486f577ea8f0","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"Server started.. with environment: prod"}}}
Logging Provider: org.jboss.logging.Log4j2LoggerProvider
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
{"eid":"BE_LOG","ets":1594179468364,"mid":"Sunbird.1594179468364.155be3be-de4b-4cba-8bd0-bff813c9a2a1","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"stacktrace":"java.lang.IllegalStateException: clientSecret required with grant_type=client_credentials\n\tat org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:139)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseEnvConnection(KeyCloakConnectionProvider.java:110)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseConnection(KeyCloakConnectionProvider.java:37)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.<clinit>(KeyCloakConnectionProvider.java:23)\n\tat org.sunbird.services.sso.impl.KeyCloakServiceImpl.<clinit>(KeyCloakServiceImpl.java:43)\n\tat org.sunbird.services.sso.SSOServiceFactory.getInstance(SSOServiceFactory.java:18)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor.<init>(TextbookTocActor.java:63)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor$$FastClassByGuice$$c2a3dedb.newInstance(<generated>)\n\tat com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)\n\tat com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)\n\tat com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)\n\tat com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\n\tat com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\n\tat com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\n\tat com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\n\tat com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:443)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:438)\n\tat play.api.inject.ContextClassLoaderInjector$$anonfun$instanceOf$2.apply(Injector.scala:119)\n\tat play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)\n\tat play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87)\n\tat akka.actor.Props.newActor(Props.scala:212)\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:624)\n\tat akka.actor.ActorCell.create(ActorCell.scala:650)\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:523)\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:545)\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:283)\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:224)\n\tat akka.dispatch.Mailbox.exec(Mailbox.scala:235)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n","level":"ERROR","message":"clientSecret required with grant_type=client_credentials"}}}
{"eid":"BE_LOG","ets":1594179468427,"mid":"Sunbird.1594179468426.dac3f092-f185-4559-bd8f-c0ed9f52c298","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SSO url is==https://staging.bodh.shikshalokam.org/auth/"}}}
{"eid":"BE_LOG","ets":1594179468428,"mid":"Sunbird.1594179468428.5516bb34-b037-4305-9a3a-111377ad750d","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SSO url is==https://staging.bodh.shikshalokam.org/auth/"}}}
{"eid":"BE_LOG","ets":1594179468426,"mid":"Sunbird.1594179468426.8c9acdff-39cf-4b88-bcec-0c799cc92556","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SSO url is==https://staging.bodh.shikshalokam.org/auth/"}}}
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
{"eid":"BE_LOG","ets":1594179468446,"mid":"Sunbird.1594179468446.e270d0f4-8ef4-46e8-9f89-013655680ef1","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SSO url is==https://staging.bodh.shikshalokam.org/auth/"}}}
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
{"eid":"BE_LOG","ets":1594179468524,"mid":"Sunbird.1594179468523.13b9cf62-2bd6-40a0-881a-2c307b5800bb","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"stacktrace":"java.lang.IllegalStateException: clientSecret required with grant_type=client_credentials\n\tat org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:139)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseEnvConnection(KeyCloakConnectionProvider.java:110)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseConnection(KeyCloakConnectionProvider.java:37)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.getConnection(KeyCloakConnectionProvider.java:127)\n\tat org.sunbird.services.sso.impl.KeyCloakServiceImpl.<init>(KeyCloakServiceImpl.java:42)\n\tat org.sunbird.services.sso.SSOServiceFactory.getInstance(SSOServiceFactory.java:18)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor.<init>(TextbookTocActor.java:63)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor$$FastClassByGuice$$c2a3dedb.newInstance(<generated>)\n\tat com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)\n\tat com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)\n\tat com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)\n\tat com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\n\tat com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\n\tat com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\n\tat com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\n\tat com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:443)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:438)\n\tat play.api.inject.ContextClassLoaderInjector$$anonfun$instanceOf$2.apply(Injector.scala:119)\n\tat play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)\n\tat play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87)\n\tat akka.actor.Props.newActor(Props.scala:212)\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:624)\n\tat akka.actor.ActorCell.create(ActorCell.scala:650)\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:523)\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:545)\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:283)\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:224)\n\tat akka.dispatch.Mailbox.exec(Mailbox.scala:235)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n","level":"ERROR","message":"clientSecret required with grant_type=client_credentials"}}}
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
Provider : org.jboss.resteasy.plugins.providers.DocumentProvider,  Method : DocumentProvider
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
{"eid":"BE_LOG","ets":1594179468639,"mid":"Sunbird.1594179468639.a31a230d-3da1-4013-870f-13d47417c123","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Connection status = true"}}}
{"eid":"BE_LOG","ets":1594179468639,"mid":"Sunbird.1594179468639.4b17c943-f2c2-4f07-a185-a993cede8efe","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Connection status = true"}}}
{"eid":"BE_LOG","ets":1594179468640,"mid":"Sunbird.1594179468640.39d99551-dc6c-496c-b40f-406f72053bfd","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Connection status = true"}}}
{"eid":"BE_LOG","ets":1594179468640,"mid":"Sunbird.1594179468640.82745099-4a71-406e-9f02-c7e5b2fb62a0","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"RedisConnectionManager:getClient: Connection status = true"}}}
{"eid":"BE_LOG","ets":1594179468657,"mid":"Sunbird.1594179468657.f5d9fe7d-8a48-4a30-9c7d-de1b83462e9d","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"stacktrace":"java.lang.IllegalStateException: clientSecret required with grant_type=client_credentials\n\tat org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:139)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseEnvConnection(KeyCloakConnectionProvider.java:110)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseConnection(KeyCloakConnectionProvider.java:37)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.getConnection(KeyCloakConnectionProvider.java:127)\n\tat org.sunbird.services.sso.impl.KeyCloakServiceImpl.<init>(KeyCloakServiceImpl.java:42)\n\tat org.sunbird.services.sso.SSOServiceFactory.getInstance(SSOServiceFactory.java:18)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor.<init>(TextbookTocActor.java:63)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor$$FastClassByGuice$$c2a3dedb.newInstance(<generated>)\n\tat com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)\n\tat com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)\n\tat com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)\n\tat com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\n\tat com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\n\tat com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\n\tat com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\n\tat com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:443)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:438)\n\tat play.api.inject.ContextClassLoaderInjector$$anonfun$instanceOf$2.apply(Injector.scala:119)\n\tat play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)\n\tat play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87)\n\tat akka.actor.Props.newActor(Props.scala:212)\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:624)\n\tat akka.actor.ActorCell.create(ActorCell.scala:650)\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:523)\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:545)\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:283)\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:224)\n\tat akka.dispatch.Mailbox.exec(Mailbox.scala:235)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n","level":"ERROR","message":"clientSecret required with grant_type=client_credentials"}}}
{"eid":"BE_LOG","ets":1594179468726,"mid":"Sunbird.1594179468726.cf150d63-9ed9-4987-afcd-234470e8fda7","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"stacktrace":"java.lang.IllegalStateException: clientSecret required with grant_type=client_credentials\n\tat org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:139)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseEnvConnection(KeyCloakConnectionProvider.java:110)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseConnection(KeyCloakConnectionProvider.java:37)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.getConnection(KeyCloakConnectionProvider.java:127)\n\tat org.sunbird.services.sso.impl.KeyCloakServiceImpl.<init>(KeyCloakServiceImpl.java:42)\n\tat org.sunbird.services.sso.SSOServiceFactory.getInstance(SSOServiceFactory.java:18)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor.<init>(TextbookTocActor.java:63)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor$$FastClassByGuice$$c2a3dedb.newInstance(<generated>)\n\tat com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)\n\tat com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)\n\tat com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)\n\tat com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\n\tat com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\n\tat com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\n\tat com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\n\tat com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:443)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:438)\n\tat play.api.inject.ContextClassLoaderInjector$$anonfun$instanceOf$2.apply(Injector.scala:119)\n\tat play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)\n\tat play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87)\n\tat akka.actor.Props.newActor(Props.scala:212)\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:624)\n\tat akka.actor.ActorCell.create(ActorCell.scala:650)\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:523)\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:545)\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:283)\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:224)\n\tat akka.dispatch.Mailbox.exec(Mailbox.scala:235)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n","level":"ERROR","message":"clientSecret required with grant_type=client_credentials"}}}
{"eid":"BE_LOG","ets":1594179468721,"mid":"Sunbird.1594179468721.03d9d007-bb09-488a-946e-23d34c982713","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"stacktrace":"java.lang.IllegalStateException: clientSecret required with grant_type=client_credentials\n\tat org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:139)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseEnvConnection(KeyCloakConnectionProvider.java:110)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.initialiseConnection(KeyCloakConnectionProvider.java:37)\n\tat org.sunbird.common.models.util.KeyCloakConnectionProvider.getConnection(KeyCloakConnectionProvider.java:127)\n\tat org.sunbird.services.sso.impl.KeyCloakServiceImpl.<init>(KeyCloakServiceImpl.java:42)\n\tat org.sunbird.services.sso.SSOServiceFactory.getInstance(SSOServiceFactory.java:18)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor.<init>(TextbookTocActor.java:63)\n\tat org.sunbird.learner.actors.textbook.TextbookTocActor$$FastClassByGuice$$c2a3dedb.newInstance(<generated>)\n\tat com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)\n\tat com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)\n\tat com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)\n\tat com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\n\tat com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\n\tat com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\n\tat com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\n\tat com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:443)\n\tat play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:438)\n\tat play.api.inject.ContextClassLoaderInjector$$anonfun$instanceOf$2.apply(Injector.scala:119)\n\tat play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)\n\tat play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat play.api.libs.concurrent.ActorRefProvider$$anonfun$3.apply(Akka.scala:243)\n\tat akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87)\n\tat akka.actor.Props.newActor(Props.scala:212)\n\tat akka.actor.ActorCell.newActor(ActorCell.scala:624)\n\tat akka.actor.ActorCell.create(ActorCell.scala:650)\n\tat akka.actor.ActorCell.invokeAll$1(ActorCell.scala:523)\n\tat akka.actor.ActorCell.systemInvoke(ActorCell.scala:545)\n\tat akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:283)\n\tat akka.dispatch.Mailbox.run(Mailbox.scala:224)\n\tat akka.dispatch.Mailbox.exec(Mailbox.scala:235)\n\tat akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\n\tat akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\n\tat akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\n\tat akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)\n","level":"ERROR","message":"clientSecret required with grant_type=client_credentials"}}}
{"eid":"INFO","ets":1594179468829,"mid":"Sunbird.1594179468829.4ff1ed71-514d-4f9a-943d-402da95d9af8","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:getConsistencyLevel: level = one"}}}
{"eid":"INFO","ets":1594179468833,"mid":"Sunbird.1594179468833.7924ef7f-3763-4dbc-b100-cdfa22ea1712","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:createCluster: Consistency level = ONE"}}}
{"eid":"BE_LOG","ets":1594179470338,"mid":"Sunbird.1594179470338.24f9459f-aba0-4917-b00f-54a06617b849","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CONNECTION CREATED SUCCESSFULLY FOR IP: 172.16.0.190 : KEYSPACE :sunbird"}}}
{"eid":"INFO","ets":1594179470339,"mid":"Sunbird.1594179470339.c0d0222a-395f-4134-af28-f03627604434","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:getConsistencyLevel: level = one"}}}
{"eid":"INFO","ets":1594179470339,"mid":"Sunbird.1594179470339.e2a10432-ac36-47eb-a01b-636f8854ea27","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:createCluster: Consistency level = ONE"}}}
{"eid":"BE_LOG","ets":1594179470547,"mid":"Sunbird.1594179470547.e0db1813-c68f-4982-98ba-d175e3b6ceb3","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CONNECTION CREATED SUCCESSFULLY FOR IP: 172.16.0.190 : KEYSPACE :sunbirdplugin"}}}
{"eid":"INFO","ets":1594179470548,"mid":"Sunbird.1594179470548.94c0c7ce-ef87-4c7f-b734-17db499e6c51","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:getConsistencyLevel: level = one"}}}
{"eid":"INFO","ets":1594179470548,"mid":"Sunbird.1594179470548.0575ecc0-c708-4aa4-aae6-c3b48b35ba8a","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:createCluster: Consistency level = ONE"}}}
{"eid":"BE_LOG","ets":1594179470718,"mid":"Sunbird.1594179470718.6624ca38-d98d-4c77-b6fe-b2264e3e228e","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CONNECTION CREATED SUCCESSFULLY FOR IP: 172.16.0.190 : KEYSPACE :sunbird_courses"}}}
{"eid":"INFO","ets":1594179470719,"mid":"Sunbird.1594179470719.66e35ab1-a3dd-47bf-932c-c4baa04f787f","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:getConsistencyLevel: level = one"}}}
{"eid":"INFO","ets":1594179470719,"mid":"Sunbird.1594179470719.c729668a-3a8c-4e5a-a800-ca7c9bca0258","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CassandraConnectionManagerImpl:createCluster: Consistency level = ONE"}}}
{"eid":"BE_LOG","ets":1594179470862,"mid":"Sunbird.1594179470862.76e36b2f-69ac-4f85-af3c-ac2f570e5483","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"CONNECTION CREATED SUCCESSFULLY FOR IP: 172.16.0.190 : KEYSPACE :dialcodes"}}}
{"eid":"BE_LOG","ets":1594179470866,"mid":"Sunbird.1594179470866.4addecac-68da-4a6f-99da-5debb947ae05","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"DataCacheHandler:run: Cache refresh started."}}}
{"eid":"INFO","ets":1594179470867,"mid":"Sunbird.1594179470867.4fa62a20-0e87-4cf0-be32-f61590ec71a4","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"Cassandra Service getAllRecords method started at ==1594179470867"}}}
{"eid":"BE_LOG","ets":1594179470918,"mid":"Sunbird.1594179470918.b3740bec-c400-4197-8011-d0221781724d","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"SchedulerManager:schedule: Started scheduler job for cache refresh."}}}
ApplicationStart:ApplicationStart: End
{"eid":"PERF_LOG","ets":1594179471025,"mid":"Sunbird.1594179471025.55958c0c-112c-4d26-80d1-05129415dd85","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"Cassandra operation getAllRecords started at 1,594,179,470,867 and completed at 1,594,179,471,025. Total time elapsed is 158."}}}
{"eid":"BE_LOG","ets":1594179471026,"mid":"Sunbird.1594179471026.063e749e-9d58-4406-bc84-785f7776bafc","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"page_management cache size: 7"}}}
{"eid":"INFO","ets":1594179471026,"mid":"Sunbird.1594179471026.02640169-6de3-48a1-bfef-c99e1a38612f","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"Cassandra Service getAllRecords method started at ==1594179471026"}}}
{"eid":"PERF_LOG","ets":1594179471034,"mid":"Sunbird.1594179471034.6cf3ecf0-edf7-4a72-9a93-dfa3de0845e5","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"Cassandra operation getAllRecords started at 1,594,179,471,026 and completed at 1,594,179,471,034. Total time elapsed is 8."}}}
{"eid":"BE_LOG","ets":1594179471035,"mid":"Sunbird.1594179471035.81e90ccd-8913-4d2f-9c29-2cf985e911db","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"page_section cache size: 26"}}}
{"eid":"BE_LOG","ets":1594179471041,"mid":"Sunbird.1594179471035.6b2192db-2d4a-4608-9198-cb91076dd5ee","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","message":"DataCacheHandler:run: Cache refresh completed."}}}
{"eid":"INFO","ets":1594179489370,"mid":"Sunbird.1594179489370.a5049548-702b-4d04-9a9b-7348103bca96","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","msgId":"0f2aec63-dc48-478b-b08e-a9341e776874","message":"OnRequestHandler:intializeRequestInfo added details for messageId=0f2aec63-dc48-478b-b08e-a9341e776874"}}}
{"eid":"BE_LOG","ets":1594179489722,"mid":"Sunbird.1594179489722.558d8fff-ecaf-4622-af87-fc17c5e154e8","ver":"1.0","context":{"pdata":{"ver":"1.0","id":"Sunbird"}},"edata":{"eks":{"level":"INFO","msgId":"0f2aec63-dc48-478b-b08e-a9341e776874","message":"Call to get play service health for service."}}}
Uncaught error from thread [application-akka.actor.default-dispatcher-16: Stack map does not match the one at exception handler 77
Exception Details:
  Location:
    com/fasterxml/jackson/databind/deser/std/StdDeserializer._parseDate(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/Date; @77: astore
  Reason:
    Type 'com/fasterxml/jackson/core/JsonParseException' (current frame, stack[0) is not assignable to 'com/fasterxml/jackson/core/exc/StreamReadException' (stack map, stack[0)
  Current Frame:
    bci: @69
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer', 'com/fasterxml/jackson/core/JsonParser', 'com/fasterxml/jackson/databind/DeserializationContext' }
    stack: { 'com/fasterxml/jackson/core/JsonParseException' }
  Stackmap Frame:
    bci: @77
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer', 'com/fasterxml/jackson/core/JsonParser', 'com/fasterxml/jackson/databind/DeserializationContext' }
    stack: { 'com/fasterxml/jackson/core/exc/StreamReadException' }
  Bytecode:
    0x0000000: 2bb6 0035 aa00 0000 0000 0081 0000 0003
    0x0000010: 0000 000b 0000 007a 0000 0081 0000 0081
    0x0000020: 0000 0034 0000 0041 0000 0081 0000 0081
    0x0000030: 0000 0081 0000 0071 2a2b b600 11b6 0012
    0x0000040: 2cb6 006b b02b b600 4742 a700 223a 052c
    0x0000050: 2ab4 0002 2bb6 006e 126f 03bd 0004 b600
    0x0000060: 70c0 002d 3a06 1906 b600 4c42 bb00 7159
    0x0000070: 21b7 0072 b02a 2cb6 0073 c000 71b0 2a2b
    0x0000080: 2cb6 0074 b02c 2ab4 0002 2bb6 0025 c000
    0x0000090: 71b0                                   
  Exception Handler Table:
    bci [69, 74 => handler: 77
    bci [69, 74 => handler: 77
  Stackmap Table:
    same_frame(@56)
    same_frame(@69)
    same_locals_1_stack_item_frame(@77,Object[#365)
    append_frame(@108,Long)
    chop_frame(@117,1)
    same_frame(@126)
    same_frame(@133)
, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[application
java.lang.VerifyError: Stack map does not match the one at exception handler 77
Exception Details:
  Location:
    com/fasterxml/jackson/databind/deser/std/StdDeserializer._parseDate(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/Date; @77: astore
  Reason:
    Type 'com/fasterxml/jackson/core/JsonParseException' (current frame, stack[0) is not assignable to 'com/fasterxml/jackson/core/exc/StreamReadException' (stack map, stack[0)
  Current Frame:
    bci: @69
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer', 'com/fasterxml/jackson/core/JsonParser', 'com/fasterxml/jackson/databind/DeserializationContext' }
    stack: { 'com/fasterxml/jackson/core/JsonParseException' }
  Stackmap Frame:
    bci: @77
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer', 'com/fasterxml/jackson/core/JsonParser', 'com/fasterxml/jackson/databind/DeserializationContext' }
    stack: { 'com/fasterxml/jackson/core/exc/StreamReadException' }
  Bytecode:
    0x0000000: 2bb6 0035 aa00 0000 0000 0081 0000 0003
    0x0000010: 0000 000b 0000 007a 0000 0081 0000 0081
    0x0000020: 0000 0034 0000 0041 0000 0081 0000 0081
    0x0000030: 0000 0081 0000 0071 2a2b b600 11b6 0012
    0x0000040: 2cb6 006b b02b b600 4742 a700 223a 052c
    0x0000050: 2ab4 0002 2bb6 006e 126f 03bd 0004 b600
    0x0000060: 70c0 002d 3a06 1906 b600 4c42 bb00 7159
    0x0000070: 21b7 0072 b02a 2cb6 0073 c000 71b0 2a2b
    0x0000080: 2cb6 0074 b02c 2ab4 0002 2bb6 0025 c000
    0x0000090: 71b0                                   
  Exception Handler Table:
    bci [69, 74 => handler: 77
    bci [69, 74 => handler: 77
  Stackmap Table:
    same_frame(@56)
    same_frame(@69)
    same_locals_1_stack_item_frame(@77,Object[#365)
    append_frame(@108,Long)
    chop_frame(@117,1)
    same_frame(@126)
    same_frame(@133)
    at com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.<init>(JavaTimeModule.java:141)
    at play.libs.Json.newDefaultMapper(Json.java:28)
    at play.libs.Json.<clinit>(Json.java:22)
    at controllers.healthmanager.HealthController.getServiceHealth(HealthController.java:75)
    at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$3$$anonfun$apply$49$$anonfun$apply$50.apply(Routes.scala:1078)
    at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$3$$anonfun$apply$49$$anonfun$apply$50.apply(Routes.scala:1078)
    at play.core.routing.HandlerInvokerFactory$$anon$6.resultCall(HandlerInvoker.scala:155)
    at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$10$$anon$2$$anon$1.invocation(HandlerInvoker.scala:116)
    at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:131)
    at play.mvc.Action.lambda$call$0(Action.java:89)
    at java.util.Optional.map(Optional.java:215)
    at play.mvc.Action.call(Action.java:81)
    at modules.OnRequestHandler$1.call(OnRequestHandler.java:71)
    at play.core.j.JavaAction$$anonfun$10.apply(JavaAction.scala:191)
    at play.core.j.JavaAction$$anonfun$10.apply(JavaAction.scala:191)
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
    at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:79)
    at play.api.libs.streams.Execution$trampoline$.executeScheduled(Execution.scala:111)
    at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:73)
    at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
    at scala.concurrent.impl.Promise$DefaultPromise.scala$concurrent$impl$Promise$DefaultPromise$$dispatchOrAddCallback(Promise.scala:284)
    at scala.concurrent.impl.Promise$DefaultPromise.onComplete(Promise.scala:274)
    at scala.concurrent.Future$class.flatMap(Future.scala:251)
    at scala.concurrent.impl.Promise$DefaultPromise.flatMap(Promise.scala:157)
    at play.api.libs.streams.Accumulator$$anonfun$futureToSink$1.apply(Accumulator.scala:261)
    at play.api.libs.streams.Accumulator$$anonfun$futureToSink$1.apply(Accumulator.scala:255)
    at akka.stream.impl.Transform.apply(TraversalBuilder.scala:158)
    at akka.stream.impl.PhasedFusingActorMaterializer.materialize(PhasedFusingActorMaterializer.scala:515)
    at akka.stream.impl.PhasedFusingActorMaterializer.materialize(PhasedFusingActorMaterializer.scala:446)
    at akka.stream.impl.PhasedFusingActorMaterializer.materialize(PhasedFusingActorMaterializer.scala:443)
    at akka.stream.scaladsl.RunnableGraph.run(Flow.scala:620)
    at play.api.libs.streams.SinkAccumulator.run(Accumulator.scala:144)
    at play.api.libs.streams.SinkAccumulator.run(Accumulator.scala:148)
    at play.core.server.AkkaHttpServer$$anonfun$16.apply(AkkaHttpServer.scala:441)
    at play.core.server.AkkaHttpServer$$anonfun$16.apply(AkkaHttpServer.scala:439)
    at akka.http.scaladsl.util.FastFuture$.akka$http$scaladsl$util$FastFuture$$strictTransform$1(FastFuture.scala:41)
    at akka.http.scaladsl.util.FastFuture$$anonfun$transformWith$extension1$1.apply(FastFuture.scala:51)
    at akka.http.scaladsl.util.FastFuture$$anonfun$transformWith$extension1$1.apply(FastFuture.scala:50)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
    at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
    at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
    at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
    at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
    at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
    at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)
    at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Exception in thread "Thread-3" java.lang.NullPointerException
    at org.sunbird.common.models.util.KeyCloakConnectionProvider$ResourceCleanUp.run(KeyCloakConnectionProvider.java:144)
stream closed 

Create Category API URL failing

@kochhar
Tried creating a category under the framework AI as per the details given in
http://www.sunbird.org/apis/framework/#operation/FrameworkV1CategoryCreatePost

  1. Tried calling the API using the URL - https://sunbird.juliacomputing.io/api/framework/v1/category/v1/category/create/items?id=AI

The above URL is as per the Server URL given in the site(v1/category/ is repeated in the server URL) and the framework id is apended to the URL as mentioned in the site.

We are getting a 404 Not found error in postman.
{
"request_path": "/framework/v1/category/v1/category/create/items",
"message": "API not found with these values",
"request_host": [
"sunbird.juliacomputing.io"
]
}

  1. when tried calling the API using the below URL
    https://sunbird.juliacomputing.io/api/framework/v1/category/create/items?id=AI

We got 404 Not Found again

<title>Error</title>
Cannot POST /v1/framework/category/create/items

Can you please let us know whats the correct URL for calling the create category API for the AI framework created.

Please let me know if you need further information.
Thanks,
Thillai

mvn run is not working

Hi team, I am trying to set up user-org service on my local machine using this documentation https://github.com/Sunbird-Lern/userorg-service#sunbird-user-org-service. I completed all the steps up to the build step, but when I try to run mvn play2:run, I get the following error:

image I have checked the play2 repository in my m2 folder, and it has the jnotify jar. I also added it to my lib path by downloading it manually, but I am still getting the error, can someone help me to fix this issue?

branch: master
arch: arm64v8
OS: MacOS - Sonoma 14.0 (23A344)
Java Version - 11
maven version - 3.8.8

Keycloak upgrade from version 7.0.1 to 20.0.0

Project Details

User account creation and management, user login as well as platform administration capabilities is powered by the User-Org Service of Sunbird Lern Building Block.
This component enables the users to create accounts to save their platform preferences, access relevant content based on their preferences etc. Users with accounts on the system who login also get access to richer platform features such as Courses and Learner passbook.
Platform administrators can be granted capabilities to manage user roles on the platform, as well as manage platform master data (eg. Location data, Framework values etc.)
Configure the platform to allow for user logins via various mechanisms including username/ password, Google login or single sign-on with other approved systems.

Features to be implemented

UserOrg currently supports authentication using Keycloak 7.0.1. An upgrade from 7.0.1 to 20.0.0 version needs to be done.

Learning Path

Complexity
Medium

Skills Required
Java

Name of Mentors:
Hari P - [[email protected])

Project size
TBD

Product Set Up
Instruction to install userorg service is available here for integration testing with keycloak.

Acceptance Criteria
Keycloak version 20.0.0 should be up and running with user-org service.

Milestones

  • Understanding the requirements
  • Understanding Keycloak and user-org integration
  • Setting up the service
  • Understanding the authentication flow
  • Documenting the upgrade

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.