Thursday, February 24, 2022

How to set memory for Solr on MacOS (installed via homebrew)

Modify this file /opt/homebrew/Cellar/solr/X.XX/homebrew.mxcl.solr.plist to add these lines

<key>EnvironmentVariables</key>

<dict>

  <key>SOLR_JAVA_MEM</key>

  <string>-Xmx2g</string>

</dict>


Save and restart Solr


$ brew services restart solr

Thursday, December 2, 2021

How to set Java version for lein

To select specific Java (JDK) to use for leiningen, set environment variable JAVA_CMD

For example,

JAVA_CMD=/path/to/bin/java lein repl

Credit: https://gist.github.com/camsaul/c982019fd915510677236cd4b720a583#gistcomment-3439527 

Saturday, October 2, 2021

Friday, September 24, 2021

Links related to how force macOS to use integrated/discrete graphics


Copied from the above post in case the post is gone


sudo pmset -a gpuswitch 0

-b when on battery
-c when on AC power
-a always

0 iGPU only
1 dGPU only
2 automatic graphics switching

To reset everything back to default:
sudo pmset -a gpuswitch 2

Monday, December 21, 2020

[PostgreSQL] How to check null in jsonb array

 Use jsonb_array_elements  to convert jsonb array to set (queriable similar to normal table) then we can use  where x::text = 'null' to match the null value.

Examples:

=> select x->'id' as id 
from jsonb_array_elements(
'[{"id": 4, "val": [null,1,null]}, 
{"id": 2, "val": [3]}]'::jsonb
) as x, 
jsonb_array_elements(x->'val') as y 
where y::text = 'null';
 id 
----
 4
 4
(2 rows)


=> select x->'id' as id
from jsonb_array_elements(
'[{"id": 4, "val": [null,1,null]}, 
{"id": 2, "val": [3]}]'::jsonb
) as x, 
jsonb_array_elements(x->'val') as y 
group by x->'id' 
having count(x) filter (where y::text  = 'null') > 1;
 id 
----------
 4
(1 row)


[PostgreSQL] How to check if there's a NULL value in array

WHERE array_position(array_column, NULL) IS NOT NULL 

Friday, June 26, 2020

Some usages of jstat

-gcutil

$ jstat -gcutil


This command shows utilization percentage of memory spaces of a java process.

S0: Survivor space 0
S1: Survivor space 1
E: Eden space
O: Old-gen space

GC activities

YGC: Young GC count
YGCT: Time spent by Young GC 
FGC: Full GC count
FGCT: Time spent by Full GC


-gc

$ jstat -gc

Find the current vm heap size by sum value under S0C, S01, EC, OC


More at https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

How to set memory for Solr on MacOS (installed via homebrew)

Modify this file  /opt/homebrew/Cellar/solr/X.XX/ homebrew.mxcl.solr.plist  to add these lines <key> EnvironmentVariables </key>...