Metatron-discovery: Change the concept to equate logical information between datasource and metadata

Created on 10 Jan 2019  ยท  24Comments  ยท  Source: metatron-app/metatron-discovery

Is your feature request related to a problem? Please describe.
MDM ๊ฐœํŽธ ๋ฐฉํ–ฅ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žก์•˜์Šต๋‹ˆ๋‹ค.
2019-01-10 8 34 33

  1. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋…ผ๋ฆฌ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    ์ด๋ฆ„, ์„ค๋ช…, ํƒ€์ž…, ๋…ผ๋ฆฌ์ปฌ๋Ÿผ๋ช… ์˜ ์ •๋ณด๋Š” ๋ฐ์ดํ„ฐ์†Œ์Šค์˜ ์ •๋ณด์™€ ๊ฐ™์€ ๊ฐ’์ž…๋‹ˆ๋‹ค.
    ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์†Œ์Šค/๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ์œ„ ์ •๋ณด ์ˆ˜์ •์‹œ ์Œ๋ฐฉ์ด ์—…๋ฐ์ดํŠธ ๋ฉ๋‹ˆ๋‹ค.๋ฉ๋‹ˆ๋‹ค.
    ๋”๋ถˆ์–ด ๋ฐ์ดํ„ฐ์†Œ์Šค ๋“ฑ๋ก์‹œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋„ ๋™์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™ ๋“ฑ๋ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(์ˆ˜๋™ ์ƒ์„ฑ ๋ถˆ๊ฐ€)
  1. ์›์ฒœ ๋ฐ์ดํ„ฐ์˜ ๋…ผ๋ฆฌ์ •๋ณด ๋˜ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ์›์ฒœ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ํ˜„์žฌ๋Š” HIVE, StagingDB๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ์ ์ฐจ ๋Š˜๋ ค๋‚˜๊ฐˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  2. ์‚ฌ์šฉ์ž๊ฐ€ (๋ฉ”ํƒ€)๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์“ธ ์ˆ˜ ์žˆ๋Š” Explore Data๋ผ๋Š” ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์ƒ์ค‘์ธ๋ฐ,
    ์ด ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์ •๋ณด ๋˜ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Describe the solution you'd like
์œ„์˜ ์ƒํ™ฉ์˜ ์ฒซ๋ฒˆ์งธ ์‚ฌํ•ญ์œผ๋กœ ๋ฐ์ดํ„ฐ์†Œ์Šค ๋“ฑ๋ก์‹œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ชฉ๋ก์— ๋™์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™ ๋“ฑ๋ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ์†Œ์Šค ์ƒ์„ธํ™”๋ฉด๊ณผ์— ํ•ด๋‹น ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ (๋ฐ์ดํ„ฐ์†Œ์Šค์— ๋Œ€ํ•œ) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ผ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์†Œ์Šค๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„, ์„ค๋ช… ์ˆ˜์ •์‹œ ์Œ๋ฐฉ์ด ์—…๋ฐ์ดํŠธ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Describe alternatives you've considered
1. ๋ฐ์ดํ„ฐ์†Œ์Šค > ์ƒ์„ธํ™”๋ฉด
default
.
.
2. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ > ์ƒ์„ธํ™”๋ฉด
default
.
.
3. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๊ธฐ
2019-01-11 4 20 36
.
.
Additional context
Related Issues:

Release Scripts

-- changed type name
update mdm_metadata set meta_source_type = โ€˜STAGEDBโ€™ where meta_source_type = โ€˜STAGINGโ€™
update mdm_metadata_source set meta_source_type = โ€˜STAGEDBโ€™ where meta_source_type = โ€˜STAGEโ€™
enhancement @datasource @metadata

Most helpful comment

@ninezero90hy ์œ„ ์—๋Ÿฌ ๋‚ด์šฉ์€ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

All 24 comments

@nogah12 ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๊ธฐ ํŒ์—…์—์„œ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค

@AnnieHwang #1245 ์™€ ๋™์ผํ•œ ๋””์ž์ธ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค-

  1. ๋ฐ์ดํ„ฐ์†Œ์Šค > ์ƒ์„ธํ™”๋ฉด : ์ œ๋ชฉ,์„ค๋ช… ์ˆ˜์ • ์‹œ ์•Œ๋ฆผ๋ฌธ๊ตฌ ๋œจ๋Š”์œ„์น˜๋Š” ๊ฐ™์Šต๋‹ˆ๋‹ค
    image

  2. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ > ์ƒ์„ธํ™”๋ฉด
    image

@ninezero90hy datasource/metadata ์ƒํ˜ธ๊ฐ„ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์‹ฑํฌ๋˜๋Š” ๋กœ์ง์€ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰ํ•˜์‹œ๋‹ค๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

@kyungtaak ๋„ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

@kyungtaak
๋ฐ์ดํ„ฐ์†Œ์Šค ํ™”๋ฉด์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ™”๋ฉด์œผ๋กœ ๊ฐ€๊ธฐ์œ„ํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์•„์ด๋””๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์–ด๋–ค ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋‚˜์š”?
๋ฐ์ดํ„ฐ์†Œ์Šค ์ƒ์„ธํ™”๋ฉด์€ ์•„๋ž˜์™€ ๊ฐ™์€ api๋ฅผ ์‚ฌ์šฉ์ค‘์ž…๋‹ˆ๋‹ค.

api/datasources/{dsId}?projection=forDetailView

@deidera08 ๋ฉ”์„ธ์ง€ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค

2019-02-18 1 49 40

  • ๋ฐ์ดํ„ฐ์†Œ์Šค ๋˜ํ•œ ์ˆ˜์ •๋  ๋•Œ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
  • Datasource is also updated when modified.
  • ็•ถไฟฎๆ”นๆ•ธๆ“šๆ™‚,ๆ•ธๆ“šไพ†ๆบไนŸๆ›ดๆ–ฐใ€‚

@brandon-wonjune


2019-02-18 2 45 38


  • ~metadata -> Master data ๋กœ ๋ ˆ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค~
  • ~๋ฒ„ํŠผ ๋ ˆ์ด๋ธ”์€ Go to Master data๋กœ ํ•ด์ฃผ์„ธ์š”~

@ninezero90hy

๋ฐ์ดํ„ฐ์†Œ์Šค ๋˜ํ•œ ์ˆ˜์ •๋  ๋•Œ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
Datasource is also updated when modified.
็•ถไฟฎๆ”นๆ•ธๆ“šๆ™‚,ๆ•ธๆ“šไพ†ๆบไนŸๆ›ดๆ–ฐใ€‚

๋ฌธ๊ตฌ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ€ํƒ๋“œ๋ ค์š”

  • Datasource is also updated when modified.
  • ์ˆ˜์ • ๋‚ด์šฉ์ด ๋ฐ์ดํ„ฐ์†Œ์Šค์—๋„ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์ค‘๋ฌธ์€.. ๊ด€๋ฆฌํ•˜์‹œ๋Š” ๋ถ„์ด ์•ˆ๊ณ„์…”์„œ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
์–‘ํ•ด ๋ถ€ํƒ๋“œ๋ ค์š”

@deidera08 ๋„ค ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค :)

@deidera08 ๋‹ค๊ตญ์–ด ๋ฉ”์„ธ์ง€ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค


2019-02-18 3 17 18


  • ๋ฐ์ดํ„ฐ์†Œ์Šค๋กœ ์ด๋™
  • Go to Datasource
  • ๅŽป้”ๅก”็ดขๆ–ฏ

@ninezero90hy

๋ฐ์ดํ„ฐ์†Œ์Šค๋กœ ์ด๋™
Go to Datasource

๋„ต ๋งž์Šต๋‹ˆ๋‹ค!

@deidera08 ๋„ค ํ™•์ธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค^^

@deidera08 ํ˜น์‹œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ๋” ์ˆ˜์ •ํ•ด์•ผ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‚˜์š”?


  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ธํ™”๋ฉด ์„ค๋ช… ์ถ”๊ฐ€
  • ๋ฐ์ดํ„ฐ์†Œ์Šค ์ƒ์„ธํ™”๋ฉด ์ด๋™ ๋ฒ„ํŠผ ์ถ”๊ฐ€

2019-02-18 3 29 09


  • ๋ฉ”์„ธ์ง€ ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ

2019-02-18 3 27 49
2019-02-18 3 28 18
2019-02-18 3 28 43

@ninezero90hy
๋ณธ ์ด์Šˆ์—์„œ ์š”์ฒญ๋“œ๋ฆฐ ์‚ฌํ•ญ์€ ์ž‘์—…๋œ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.
์ถ”ํ›„ PR์„ ์—ด์–ด์ฃผ์‹œ๋ฉด ํ…Œ์ŠคํŠธํ•˜๋ฉด์„œ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ํ•จ๊ป˜ ์ˆ˜์ •ํ•ด๋‚˜๊ฐ€๋ฉด ์ข‹์„๋“ฏํ•ฉ๋‹ˆ๋‹ค :)

@deidera08 ๋„ค ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค :)

2019-02-27 2 10 05
configure schema ํ™”๋ฉด ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

@kyungtaak
๋ฐ์ดํ„ฐ์†Œ์Šค ํ™”๋ฉด์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ™”๋ฉด์œผ๋กœ ๊ฐ€๊ธฐ์œ„ํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์•„์ด๋””๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์–ด๋–ค ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋‚˜์š”?
๋ฐ์ดํ„ฐ์†Œ์Šค ์ƒ์„ธํ™”๋ฉด์€ ์•„๋ž˜์™€ ๊ฐ™์€ api๋ฅผ ์‚ฌ์šฉ์ค‘์ž…๋‹ˆ๋‹ค.

api/datasources/{dsId}?projection=forDetailView

@kyungtaak
์œ„ ๋ฌธ์˜์‚ฌํ•ญ ๋‹ต๋ณ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@eltriny ๋‹ต๋ณ€์ด ๋Šฆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ api ํ™œ์šฉ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
/metadatas/metasources/{sourceId}?projection=forDetailView

@deidera08 master data๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ์ž‘์—… ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

@brandon-wonjune

master data๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ์ž‘์—… ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค :)
์ˆ˜๊ณ ์Šค๋Ÿฌ์šฐ์‹œ๊ฒ ์ง€๋งŒ ๋ฒ„ํŠผ๋ช…์„ 'Go to Metadata'๋กœ ๋‹ค์‹œ ๋ถ€ํƒ๋“œ๋ ค์š”
'๋งˆ์Šคํ„ฐ๋ฐ์ดํ„ฐ' ์šฉ์–ด๊ฐ€ ์žฌ๋…ผ์˜๊ฐ€ ํ•„์š”ํ•ด์„œ ๋‹น๋ถ„๊ฐ„ ๋ฉ”๋‰ด๋ช…์„ '๋ฉ”ํƒ€๋ฐ์ดํ„ฐ'๋ฅผ ์จ์•ผ ํ•  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ์ด์Šˆ: #1436

@deidera08 metadata๋กœ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

@kyungtaak

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ ์Šคํ‚ค๋งˆ ํŽ˜์ด์ง€์—์„œ ์†Œ์Šคํƒ€์ž…์ด ๋ฐ์ดํ„ฐ์†Œ์Šค๊ฐ€ ์•„๋‹Œ ํ•˜์ด๋ธŒ/์Šคํ…Œ์ด์ง•DB์ผ ๊ฒฝ์šฐ ํƒ€์ž… ๋ณ€๊ฒฝ์‹œ ์‹ค์ œ ๊ฐ’์€ ๋ณ€๊ฒฝ์ด ์™„๋ฃŒ ๋˜์—ˆ๋Š”๋ฐ ์„œ๋ฒ„ 500 ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋‚˜ ์Šคํ…Œ์ด์ง•DB์ผ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋ฐ ๋ฐ์ดํ„ฐ์†Œ์Šค๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋ ค๊ณ  ํ•ด์„œ ๊ทธ๋Ÿฐ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    • ๋ฐ์ดํ„ฐ์†Œ์Šค
      default

    • ํ•˜์ด๋ธŒ
      default

    • ์Šคํ…Œ์ด์ง•DB
      default

    • API (PATCH /api/metadatas/{metadataId}/columns) ์—๋Ÿฌ ๋กœ๊ทธ

app.metatron.discovery.common.exception.UnknownServerException
    at app.metatron.discovery.common.exception.GlobalExceptionHandler.handleAll(GlobalExceptionHandler.java:149)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
    at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:384)
    at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:59)
    at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:136)
    at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:76)
    at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1222)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1034)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at app.metatron.discovery.common.web.CommonLocalVariableFilter.doFilter(CommonLocalVariableFilter.java:58)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at app.metatron.discovery.common.web.LogbackMdcFilter.doFilter(LogbackMdcFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:167)
    at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:80)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at app.metatron.discovery.domain.datasource.DataSourceService.updateFromMetadata(DataSourceService.java:634)
    at app.metatron.discovery.domain.datasource.DataSourceService$$FastClassBySpringCGLIB$$8932ee94.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
    at app.metatron.discovery.domain.datasource.DataSourceService$$EnhancerBySpringCGLIB$$67d3d235.updateFromMetadata(<generated>)
    at app.metatron.discovery.domain.mdm.MetadataController.patchColumnsInMetadata(MetadataController.java:248)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
    ... 86 more

@ninezero90hy ์œ„ ์—๋Ÿฌ ๋‚ด์šฉ์€ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

Was this page helpful?
0 / 5 - 0 ratings