eclipes4j's 개발은 언제나 즐겁다.

Node.JS / Google OAuth2 작업중 이슈.

Programming!
passport.serializeUser(function(user, done) {
  done(null, user);
});
passport.deserializeUser(function(obj, done) {
  done(null, obj);
});
passport.use(new GoogleStrategy({
      clientID:     GOOGLE_CLIENT_ID,
      clientSecret: GOOGLE_CLIENT_SECRET,
      callbackURL: GOOGLE_CALL_BACK,
      passReqToCallback   : true
    },
    function(request, accessToken, refreshToken, profile, done) {
      process.nextTick(function () {
        return done(null, profile);
      });
    }
));
app.get('/auth/google/login', passport.authenticate('google', { session: false, scope: [
    'email', 'profile'],
}));

app.get('/auth/google/login-process',
    passport.authenticate( 'google', {
      failureRedirect: '/auth/google/login',
    }),  function (req, res) {
        return res.redirect("/");
      
    }
);
app.get('/auth/google/logout', function(req, res){
  req.logout();
  res.redirect("/");
});

처음으로 Node.JS를 만지작 거리며 회사에서 google oauth를 붙이게 됨.

npm passport google oauth를 이용하여 붙이는 중 logout을 하면 자동으로 다시 login이 되는 현상이 발생.

쿠키나 세션문제로 인지하고 주구장창 그쪽만 파봄.. 수시간이 흐르고 짜증이 날때 즈음 우리 스택오버플로우 형님께서 알려주신 

'prompt: 'select_account' 옵션을 붙임.

app.get('/auth/google/login', passport.authenticate('google', { session: false, scope: [
    'email', 'profile'], prompt: 'select_account'
}));

잘됨. 아주 잘됨...

 

진짜 처리하는 방법은 알게뭐냐!!! 된다!!! 끗

 

HikariForAurora Failed

Programming!

HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection (Connection.setNetworkTimeout cannot be called on a closed connection)

이건은 지난번 포스트와 동일하다. 

https://eclipse4j.tistory.com/264

다시한번, 써보면...

DB의 Global time_wait는 60초 입니다. 60초 내에 연결이 없는 경우 세션을 종료 시키게 됨.
(기본값은 8시간)

hikaricp의 maxlife시간은 훨씬 긴 시간을 가지고 있기 때문에 끊어졌던 pool을 찾으려고 하지만 이미 종료되었기 때문에 나는 경고.

똑같은 설정으로 로컬 재현을 해보면 

set GLOBAL wait_timeout = 30;

[2019-06-20 22:51:41] [http-nio-7001-exec-8] [INFO ] [c.b.p.s.common.logging.LoggingFilter] - 
[2019-06-20 22:51:50] [http-nio-7001-exec-4] [INFO ] [c.b.p.s.common.logging.LoggingFilter] - 
[2019-06-20 22:54:03.584  WARN 51182 --- [nio-7001-exec-5] com.zaxxer.hikari.pool.PoolBase          : HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@3a0c61f1 (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[2019-06-20 22:54:03] [http-nio-7001-exec-5] [WARN ] [com.zaxxer.hikari.pool.PoolBase] - HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@3a0c61f1 (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
2019-06-20 22:54:03.585  WARN 51182 --- [nio-7001-exec-5] com.zaxxer.hikari.pool.PoolBase          : HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@134800bf (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[2019-06-20 22:54:03] [http-nio-7001-exec-5] [WARN ] [com.zaxxer.hikari.pool.PoolBase] - HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@134800bf (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
2019-06-20 22:54:03.586  WARN 51182 --- [nio-7001-exec-5] com.zaxxer.hikari.pool.PoolBase          : HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@414d4b17 (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[2019-06-20 22:54:03] [http-nio-7001-exec-5] [WARN ] [com.zaxxer.hikari.pool.PoolBase] - HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection@414d4b17 (Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
Hibernate:  

22:51분에 접속 후, 22:54분에 재접속하면 동일한 오류가 발생. 

이후 set GLOBAL wait_timeout = 3600; 으로 지정후 동일하게 실행하면!!

[2019-06-20 22:56:08] [http-nio-7001-exec-1] [INFO ] [c.b.p.s.common.logging.LoggingFilter] - 
[2019-06-20 22:56:17] [http-nio-7001-exec-2] [INFO ] [c.b.p.s.common.logging.LoggingFilter] - 
[2019-06-20 22:59:08] [http-nio-7001-exec-4] [INFO ] [c.b.p.s.common.logging.LoggingFilter] - 
3분후, 재접속해도 별도의 경고메시지는 남지 않음.

 

혹시, DBA와 협의 후, wait_timeout을 수정할 수 없는 상황이라면.. CP의 타임아웃을 수정하자.

 

https://stackoverflow.com/questions/30451470/connection-to-db-dies-after-424-in-spring-boot-jpa-hibernate

 

Connection to Db dies after >4<24 in spring-boot jpa hibernate

I have an app that uses spring-boot,jpa-hiberanate with mysql.I am getting this error log Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received ...

stackoverflow.com

 

오래된 데탑의 쿨러를 업글하다..

후비고!

10여년이 되어가는 3세대 아이비 데탑을 다른 유부님들처럼 아끼고 아껴서 업그레이드를 해오고 있다. ㅎㅎㅎ;;;

파워, 메모리 16G, RX580 8G, SSD 500G등등 이제 마지막으로 쿨러를 업그레이드만 하면 되는 찰나!!!

앜!!!! 써멀 구리스가 CPU칩 밑.. 소켓 안으로 들어가는 불상사가!!  oTL.. 끝내 메인보드를 살리지 못하고 무려 5만원을 들여 중고 메인보드로 교체했다. 

이 무슨 날벼락이란 말인가..엉엉..

교체도중 손은 까지고, 메인보드의 MBR/GPT 문제로 USB설치에서 시간 다 보내 버리고..아.. 

어찌저찌 해서 교체는 완료되었지만 Windows를 재설치해야 하는 구나.. 철푸덕.

 

온도 측정.

 

이제 더는 없다.. 업글!!