Troubleshooting
Overview
This guide provides solutions to common issues encountered during SAMO platform installation and deployment.
Common Issues
Database Connection Issues
Problem: Application fails to connect to the database.
Solutions:
- Verify database credentials in configuration files
- Check database server is running and accessible
- Verify network connectivity and firewall rules
- Ensure database driver is properly installed
# Test database connectivity
telnet <db-host> <db-port>
Docker Container Issues
Problem: Docker containers fail to start or stop unexpectedly.
Solutions:
-
Check Docker logs for error messages:
docker compose logs -f -
Verify Docker resources (memory, CPU):
docker stats -
Ensure all required images are pulled:
docker compose pull -
Check port conflicts:
netstat -tuln | grep <port>
Service Startup Issues
Problem: SAMO service fails to start.
Solutions:
-
Check service logs:
sudo journalctl -u samo-10 -f -
Verify Java version:
java -version -
Check file permissions:
ls -la /opt/samo-10 -
Verify environment variables are set correctly
Memory Issues
Problem: Application runs out of memory (OutOfMemoryError).
Solutions:
-
Increase JVM heap size in configuration:
-Xmx4g -Xms2g -
Monitor memory usage:
jstat -gc <pid> 1000 -
Analyze heap dump for memory leaks
Performance Issues
Problem: Application responds slowly or times out.
Solutions:
- Check database query performance
- Verify Elasticsearch and Redis are running properly
- Review application logs for bottlenecks
- Monitor system resources (CPU, memory, disk I/O)
- Check network latency between services
Authentication Issues
Problem: Users cannot log in or authentication fails.
Solutions:
- Verify user credentials in Security Manager
- Check LDAP/AD synchronization if configured
- Review authentication logs
- Verify OAuth2/OIDC configuration if using SSO
SSL/TLS Certificate Issues
Problem: Certificate errors or HTTPS connection failures.
Solutions:
-
Verify certificate validity:
openssl x509 -in certificate.crt -text -noout -
Check certificate chain is complete
-
Ensure certificate matches the domain name
-
Verify certificate is trusted by the client
Logging and Diagnostics
Enable Debug Logging
Edit the logging configuration to enable debug level:
logging.level.com.samo=DEBUG
Enable debug logging only temporarily for troubleshooting, as it generates a large volume of log data and may impact performance.
Collect Diagnostic Information
When reporting issues, include:
- Application version and build number
- Complete error messages and stack traces
- Relevant log excerpts
- System information (OS, Java version, etc.)
- Configuration files (sanitized)
Log Locations
- Tomcat logs:
$TOMCAT_HOME/logs/ - Service logs:
sudo journalctl -u samo-10 - Docker logs:
docker compose logs - Application logs:
/var/log/samo/or configured location
Getting Help
If you cannot resolve the issue:
- Check the official SAMO documentation
- Review release notes for known issues
- Contact SAMO support with diagnostic information
- Check community forums for similar issues
When contacting support, always include the application version, complete error messages, relevant log excerpts, and system information to expedite the resolution process.
Performance Tuning
Database Optimization
- Create appropriate indexes
- Update database statistics
- Configure connection pooling
- Tune database parameters
Application Optimization
- Adjust thread pool sizes
- Configure caching strategies
- Optimize query performance
- Review and adjust timeout values
Infrastructure Optimization
- Allocate sufficient resources (CPU, memory)
- Use SSD storage for better I/O performance
- Configure proper network bandwidth
- Implement load balancing for high availability