트러블슈팅

N+1 이란? N+1 문제란, ORM(Object-Relational Mapping) 프레임워크에서 하나의 조회 쿼리를 실행했을 때, 추가적으로 N개의 서브 쿼리가 실행되는 비효율적인 데이터 조회 문제를 의미한다.    1. N+1 문제 발생게시글을 출력하는 과정에서 posts 객체와 연관된 객체들이 N개의 쿼리들로 조회되는 문제가 발생하였다.Hibernate: select p1_0.id, p1_0.content, p1_0.created_at, p1_0.image_path, p1_0.opinion, p1_0.stock_tickers_id, p1_0.updated_at, p1_0.users_id ..
1. 문제 발생 배포를 하던 중 원래 잘 되던 실시간 검색순위 기능에서 오류 발생하였다.2025-03-21T15:57:58.453Z WARN 15831 --- [stockBurning] [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient : [Consumer clientId=consumer-search-consumer-group1-1, groupId=search-consumer-group1] Error connecting to node kafka:9092 (id: 1 rack: null)java.net.UnknownHostException: kafka at java.base/java.net.InetAddress$CachedAddresse..
1. 문제 발견이미 배포했던 프로젝트를 다시 로컬로 돌리기 위해 기존 프로젝트를 복붙해서 실행하려고 하자 아래와 같이 오류가 떴다.     2. 해결방안stackoverflow 사람들에 따르면 .idea 폴더와 .ime 파일을 삭제하고 다시 실행하면 제대로 된다고 한다.  3. 문제 해결사실상 프로젝트 폴더 중 .idea 안에 module 안에 .iml 파일이 있기 때문에 .idea 폴더만 삭제해주면 된다.    4.결과해당 폴더를 삭제 후 실행했더니 다시 정상적으로 실행된다.
다음 이미지와 같이 백엔드 서버에서 redis 서버랑 연결이 실패하는 문제가 발생하였다. 오류 로그 : (Servlet.service() for servlet [dispatcherServlet] in contex    t with path [] threw exception [Request processing failed: org.springframework.data.redi    s.RedisConnectionFailureException: Unable to connect to Redis] with root cause)     application.properties 도 제대로 설정되어 있었고spring.cache.type=redisspring.data.redis.host=[redis가 설치된 ec2 인..
서버를 돌리다가 원래라면 위 화면처럼 나와야할 콘솔창이 아래 콘솔창처럼 떴다.    알고보니 kafka 서버를 실행하던 중 에러가 발생하여 kafka 서버가 종료되었다.      에러 : ERROR Shutdown broker because all log dirs in C:\tmp\kafka-logs have failed 원인 : stackoverflow에서는 서버, 소비자, 생산자 3개의 프로세스가 모두 동일한 로그 디렉터리를 사용해서 그런거 같다고 한다.해결방법 : /tmp 디렉터리 안에 있는 kafka-logs, zookeeper 파일을 삭제해야한다.       해결방법 1. 먼저 zookeeper 서버와 kafka 서버를 종료한다.   2. 아래 이미지처럼 tmp 디렉터리 안에 있는 두 개의 폴더..
프로젝트 진행 중 사용자가 카카오 로그인 버튼을 누르면 카카오 로그인 페이지가 출력되어야 하는데 출력되지 않는 문제가 발생하였다. 원래 정상적으로 로직이 작동하려면카카오 로그인 버튼을 누르면 http://localhost:8081/oauth2/authorization/kakao 로 리다이렉션되고스프링시큐리티의 OAuth2AuthorizationRequestRedirectFilter 에서 해당 URL을 가로채서 사용자에게 카카오 로그인페이지를 출력해줘야한다.    사용자에게 카카오 로그인 페이지를 보여주는 과정은 아래 그림과 같다.      1. 문제 발견(카카오 로그인 버튼을 눌러도 로그인페이지가 뜨지 않고 404에러 발생)        2. 문제가 발생하고 있는 코드 -프론트 methods: { re..
프로젝트를 진행하면서 사용자가 로그인하면 서버에서는 refreshToken을 쿠키에 발급하는데서버에서는 이 쿠키 정보를 불러오지 못하는 문제가 발생하였다.    내가 쿠키에 저장하기 위한 코드는 아래와 같으며private void setRefreshTokenCookie(HttpServletResponse response, String refreshToken){ Cookie cookie = new Cookie("refreshToken", refreshToken); cookie.setHttpOnly(true); //js 에서 쿠키에 접근할 수 없도록 함(xss 공격 방지) cookie.setSecure(false); //https 연결에서만 쿠키 전송..
1. 문제서버에서 HTTP 응답헤더에 accessToken을 넣어서 반환하면 클라이언트에서는 accessToken을 받아서 로컬 변수에 저장하여 인증받는 방식을 사용하려는데아래의 코드를 적용해도 undefined 가 뜨는 경우가 생겼다. async login({ commit }, {id, password}) { try { const response = await axios.post("http://localhost:8081/api/login", { userId: id, userPw: password, }); const accessToken = response.headers.get("Authorization"); if..
공부 기록장
'트러블슈팅' 카테고리의 글 목록